lib/code/object/json.rb in code-ruby-0.13.1 vs lib/code/object/json.rb in code-ruby-0.14.0

- old
+ new

@@ -1,14 +1,22 @@ +# frozen_string_literal: true + class Code class Object class Json < Object def self.to_code(json) if json.is_an?(Object) json elsif json.is_a?(::Hash) - Dictionary.new(json) + Dictionary.new( + json.transform_keys do |key| + Json.to_code(key) + end.transform_values do |value| + Json.to_code(value) + end + ) elsif json.is_a?(::Array) - List.new(json) + List.new(json.map { |element| Json.to_code(element) }) elsif json.is_a?(::String) String.new(json) elsif json.is_a?(::Float) Decimal.new(json) elsif json.is_an?(::Integer)