Class: Abroad::Serializers::Txt::LinesSerializer
- Inherits:
-
TxtSerializer
- Object
- Serializer
- TxtSerializer
- Abroad::Serializers::Txt::LinesSerializer
- Defined in:
- lib/abroad/serializers/txt/lines_serializer.rb
Constant Summary collapse
- DEFAULT_NEWLINE_SEPARATOR =
"\n"
Constants inherited from Serializer
Instance Attribute Summary collapse
-
#lines ⇒ Object
readonly
Returns the value of attribute lines.
-
#newline_separator ⇒ Object
readonly
Returns the value of attribute newline_separator.
Attributes inherited from Serializer
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize(stream, locale, options = {}) ⇒ LinesSerializer
constructor
A new instance of LinesSerializer.
- #write_key_value(key, value) ⇒ Object
Methods inherited from TxtSerializer
Methods inherited from Serializer
#close, #encoding, from_stream, open, #write_raw
Constructor Details
#initialize(stream, locale, options = {}) ⇒ LinesSerializer
Returns a new instance of LinesSerializer.
10 11 12 13 14 |
# File 'lib/abroad/serializers/txt/lines_serializer.rb', line 10 def initialize(stream, locale, = {}) @newline_separator = .fetch(:newline_separator, DEFAULT_NEWLINE_SEPARATOR) @lines = [] super end |
Instance Attribute Details
#lines ⇒ Object (readonly)
Returns the value of attribute lines.
8 9 10 |
# File 'lib/abroad/serializers/txt/lines_serializer.rb', line 8 def lines @lines end |
#newline_separator ⇒ Object (readonly)
Returns the value of attribute newline_separator.
8 9 10 |
# File 'lib/abroad/serializers/txt/lines_serializer.rb', line 8 def newline_separator @newline_separator end |
Instance Method Details
#flush ⇒ Object
24 25 26 27 |
# File 'lib/abroad/serializers/txt/lines_serializer.rb', line 24 def flush stream.write(lines.join(newline_separator)) super end |
#write_key_value(key, value) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/abroad/serializers/txt/lines_serializer.rb', line 16 def write_key_value(key, value) unless valid_key?(key) raise KeyError, "'#{key}' is not a valid key" end add_line(key, value) end |