Class: Kumi::Core::Export::Deserializer

Inherits:
Object
  • Object
show all
Includes:
NodeBuilders
Defined in:
lib/kumi/core/export/deserializer.rb

Instance Method Summary collapse

Methods included from NodeBuilders

#build_attribute_declaration, #build_binding_reference, #build_call_expression, #build_cascade_expression, #build_field_declaration, #build_field_reference, #build_list_expression, #build_literal, #build_root, #build_trait_declaration, #build_when_case_expression

Constructor Details

#initialize(validate: true) ⇒ Deserializer

Returns a new instance of Deserializer.



9
10
11
# File 'lib/kumi/core/export/deserializer.rb', line 9

def initialize(validate: true)
  @validate = validate
end

Instance Method Details

#deserialize(json_string) ⇒ Object



13
14
15
16
17
18
# File 'lib/kumi/core/export/deserializer.rb', line 13

def deserialize(json_string)
  data = parse_json(json_string)
  validate_format(data) if @validate

  build_node(data[:ast])
end