Class: Metanorma::Mirror::Serialization::JsonSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/metanorma/mirror/serialization/json_serializer.rb

Class Method Summary collapse

Class Method Details

.deserialize(json_string) ⇒ Object



21
22
23
# File 'lib/metanorma/mirror/serialization/json_serializer.rb', line 21

def self.deserialize(json_string)
  Model::Factory.from_hash(JSON.parse(json_string))
end

.serialize(node) ⇒ Object

Every Model::Node (Leaf included) has a data to_hash; the former Container-only guard serialized bare leaves as inspect strings.



11
12
13
14
# File 'lib/metanorma/mirror/serialization/json_serializer.rb', line 11

def self.serialize(node)
  data = node.is_a?(Model::Node) ? node.to_hash : node
  data.to_json
end

.serialize_pretty(node) ⇒ Object



16
17
18
19
# File 'lib/metanorma/mirror/serialization/json_serializer.rb', line 16

def self.serialize_pretty(node)
  data = node.is_a?(Model::Node) ? node.to_hash : node
  JSON.pretty_generate(data)
end