Module: Mpp::Json
- Extended by:
- T::Sig
- Defined in:
- lib/mpp/json.rb
Class Method Summary collapse
Class Method Details
.compact_encode(obj) ⇒ Object
15 16 17 |
# File 'lib/mpp/json.rb', line 15 def compact_encode(obj) ::JSON.generate(deep_sort_keys(obj), space: "", object_nl: "", array_nl: "") end |
.deep_sort_keys(obj) ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/mpp/json.rb', line 21 def deep_sort_keys(obj) case obj when Hash obj.sort_by { |k, _| k.to_s }.to_h.transform_values { |v| deep_sort_keys(v) } when Array obj.map { |v| deep_sort_keys(v) } else obj end end |