Class: Kumi::Core::Export::Serializer
- Inherits:
-
Object
- Object
- Kumi::Core::Export::Serializer
- Includes:
- NodeSerializers
- Defined in:
- lib/kumi/core/export/serializer.rb
Instance Method Summary collapse
-
#initialize(pretty: false, include_locations: false) ⇒ Serializer
constructor
A new instance of Serializer.
- #serialize(syntax_root) ⇒ Object
Methods included from NodeSerializers
#serialize_attribute_declaration, #serialize_binding_reference, #serialize_call_expression, #serialize_cascade_expression, #serialize_field_declaration, #serialize_field_reference, #serialize_list_expression, #serialize_literal, #serialize_root, #serialize_trait_declaration, #serialize_when_case_expression
Constructor Details
#initialize(pretty: false, include_locations: false) ⇒ Serializer
Returns a new instance of Serializer.
9 10 11 12 |
# File 'lib/kumi/core/export/serializer.rb', line 9 def initialize(pretty: false, include_locations: false) @pretty = pretty @include_locations = include_locations end |
Instance Method Details
#serialize(syntax_root) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/kumi/core/export/serializer.rb', line 14 def serialize(syntax_root) json_data = { kumi_version: VERSION, ast: serialize_root(syntax_root) } @pretty ? JSON.pretty_generate(json_data) : JSON.generate(json_data) end |