Class: Code::Object::Json
- Inherits:
-
Code::Object
- Object
- Code::Object
- Code::Object::Json
- Defined in:
- lib/code/object/json.rb
Instance Attribute Summary
Attributes inherited from Code::Object
Class Method Summary collapse
Methods inherited from Code::Object
#<=>, #==, as_json, #as_json, call, #call, code_and_operator, #code_and_operator, #code_as_json, code_as_json, code_different, #code_different, code_equal_equal, #code_equal_equal, #code_equal_equal_equal, code_equal_equal_equal, code_exclamation_point, #code_exclamation_point, code_exclusive_range, #code_exclusive_range, code_inclusive_range, #code_inclusive_range, code_new, #code_or_operator, code_or_operator, code_self, #code_self, code_to_json, #code_to_json, #falsy?, falsy?, #hash, #initialize, inspect, #inspect, maybe, multi_fetch, #multi_fetch, repeat, sig, #sig, #succ, to_json, #to_json, to_s, #to_s, truthy?, #truthy?, |
Constructor Details
This class inherits a constructor from Code::Object
Class Method Details
.to_code(json) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/code/object/json.rb', line 6 def self.to_code(json) if json.is_an?(Object) json elsif json.is_a?(::Hash) 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.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) Integer.new(json) elsif json.is_a?(::TrueClass) Boolean.new(json) elsif json.is_a?(::FalseClass) Boolean.new(json) elsif json.is_a?(::NilClass) Nothing.new(json) else Nothing.new end end |