Class: JsonWriteStream::StatefulObjectWriter
- Inherits:
-
StatefulWriter
- Object
- StatefulWriter
- JsonWriteStream::StatefulObjectWriter
- Defined in:
- lib/json-write-stream/stateful.rb
Instance Attribute Summary
Attributes inherited from StatefulWriter
#closed, #index, #stack, #stream
Instance Method Summary collapse
- #after_initialize ⇒ Object
- #close ⇒ Object
- #is_array? ⇒ Boolean
- #is_object? ⇒ Boolean
-
#write_array(key) ⇒ Object
prep work (array is written afterwards).
- #write_key_value(key, value, options = DEFAULT_OPTIONS) ⇒ Object
-
#write_object(key) ⇒ Object
prep work (object is written afterwards).
Methods inherited from StatefulWriter
#close_array, #close_object, #eos?, #flush, #in_array?, #in_object?, #initialize, #write_element
Constructor Details
This class inherits a constructor from JsonWriteStream::StatefulWriter
Instance Method Details
#after_initialize ⇒ Object
122 123 124 |
# File 'lib/json-write-stream/stateful.rb', line 122 def after_initialize stream.write('{') end |
#close ⇒ Object
152 153 154 |
# File 'lib/json-write-stream/stateful.rb', line 152 def close stream.write('}') end |
#is_array? ⇒ Boolean
160 161 162 |
# File 'lib/json-write-stream/stateful.rb', line 160 def is_array? false end |
#is_object? ⇒ Boolean
156 157 158 |
# File 'lib/json-write-stream/stateful.rb', line 156 def is_object? true end |
#write_array(key) ⇒ Object
prep work (array is written afterwards)
127 128 129 130 131 132 |
# File 'lib/json-write-stream/stateful.rb', line 127 def write_array(key) write_comma increment write_key(key) stream.write(':') end |
#write_key_value(key, value, options = DEFAULT_OPTIONS) ⇒ Object
142 143 144 145 146 147 148 149 150 |
# File 'lib/json-write-stream/stateful.rb', line 142 def write_key_value(key, value, = DEFAULT_OPTIONS) write_comma stream.write(.fetch(:before, DEFAULT_OPTIONS[:before])) increment write_key(key) stream.write(':') stream.write(.fetch(:between, DEFAULT_OPTIONS[:between])) stream.write(escape(value)) end |
#write_object(key) ⇒ Object
prep work (object is written afterwards)
135 136 137 138 139 140 |
# File 'lib/json-write-stream/stateful.rb', line 135 def write_object(key) write_comma increment write_key(key) stream.write(':') end |