Class: Abroad::Serializers::Yaml::RailsSerializer
Instance Attribute Summary collapse
#writer
Attributes inherited from Serializer
#encoding, #locale, #stream
Instance Method Summary
collapse
Methods inherited from Serializer
#close, from_stream, open
Constructor Details
#initialize(stream, locale, encoding = Encoding::UTF_8) ⇒ RailsSerializer
Returns a new instance of RailsSerializer.
8
9
10
11
|
# File 'lib/abroad/serializers/yaml/rails_serializer.rb', line 8
def initialize(stream, locale, encoding = Encoding::UTF_8)
super
@trie = Abroad::Serializers::Trie.new
end
|
Instance Attribute Details
#trie ⇒ Object
Returns the value of attribute trie.
6
7
8
|
# File 'lib/abroad/serializers/yaml/rails_serializer.rb', line 6
def trie
@trie
end
|
Instance Method Details
#flush ⇒ Object
23
24
25
26
27
28
|
# File 'lib/abroad/serializers/yaml/rails_serializer.rb', line 23
def flush
writer.write_map(locale)
write_node(trie.root, locale)
writer.flush
stream.flush
end
|
#write_key_value(key, value) ⇒ Object
17
18
19
20
21
|
# File 'lib/abroad/serializers/yaml/rails_serializer.rb', line 17
def write_key_value(key, value)
key_parts = split_key(key)
encoded_value = value.encode(encoding)
trie.add(key_parts, encoded_value)
end
|
#write_raw(text) ⇒ Object
13
14
15
|
# File 'lib/abroad/serializers/yaml/rails_serializer.rb', line 13
def write_raw(text)
writer.stream.write(text)
end
|