Module: Kumi::Core::Export

Defined in:
lib/kumi/core/export.rb,
lib/kumi/core/export/errors.rb,
lib/kumi/core/export/serializer.rb,
lib/kumi/core/export/deserializer.rb,
lib/kumi/core/export/node_builders.rb,
lib/kumi/core/export/node_registry.rb,
lib/kumi/core/export/node_serializers.rb

Defined Under Namespace

Modules: Errors, NodeBuilders, NodeSerializers Classes: Deserializer, NodeRegistry, Serializer

Class Method Summary collapse

Class Method Details

.from_file(filepath, **options) ⇒ Object



22
23
24
# File 'lib/kumi/core/export.rb', line 22

def self.from_file(filepath, **options)
  from_json(File.read(filepath), **options)
end

.from_json(json_string, **options) ⇒ Object



13
14
15
# File 'lib/kumi/core/export.rb', line 13

def self.from_json(json_string, **options)
  Deserializer.new(**options).deserialize(json_string)
end

.to_file(syntax_root, filepath, **options) ⇒ Object

Convenience methods



18
19
20
# File 'lib/kumi/core/export.rb', line 18

def self.to_file(syntax_root, filepath, **options)
  File.write(filepath, to_json(syntax_root, **options))
end

.to_json(syntax_root, **options) ⇒ Object

Core interface - only depends on Syntax::Root



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

def self.to_json(syntax_root, **options)
  Serializer.new(**options).serialize(syntax_root)
end

.valid?(json_string) ⇒ Boolean

Validation without import

Returns:

  • (Boolean)


27
28
29
30
31
32
# File 'lib/kumi/core/export.rb', line 27

def self.valid?(json_string)
  from_json(json_string)
  true
rescue StandardError
  false
end