module Nuggets::JSON::CanonicalMixin
Public Instance Methods
generate_canonical(obj, opts = {})
click to toggle source
# File lib/nuggets/json/canonical_mixin.rb 31 def generate_canonical(obj, opts = {}) 32 generate(_nuggets_json_canonical(obj), opts) 33 end
pretty_generate_canonical(obj, opts = {})
click to toggle source
# File lib/nuggets/json/canonical_mixin.rb 35 def pretty_generate_canonical(obj, opts = {}) 36 pretty_generate(_nuggets_json_canonical(obj), opts) 37 end
pretty_print_canonical(source, opts = {})
click to toggle source
# File lib/nuggets/json/canonical_mixin.rb 39 def pretty_print_canonical(source, opts = {}) 40 pretty_generate_canonical(parse_multi(source, opts), opts) 41 end
Also aliased as: pc
Private Instance Methods
_nuggets_json_canonical(obj)
click to toggle source
# File lib/nuggets/json/canonical_mixin.rb 47 def _nuggets_json_canonical(obj) 48 case obj 49 when ::Hash 50 obj.class.new.tap { |res| 51 obj.keys.sort.each { |k| res[k] = send(__method__, obj[k]) } } 52 when ::Array 53 obj.map { |v| send(__method__, v) }.sort_by(&:to_s) 54 else 55 obj 56 end 57 end