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, before = '') ⇒ 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
150 151 152 |
# File 'lib/json-write-stream/stateful.rb', line 150 def close stream.write('}') end |
#is_array? ⇒ Boolean
158 159 160 |
# File 'lib/json-write-stream/stateful.rb', line 158 def is_array? false end |
#is_object? ⇒ Boolean
154 155 156 |
# File 'lib/json-write-stream/stateful.rb', line 154 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, before = '') ⇒ Object
142 143 144 145 146 147 148 |
# File 'lib/json-write-stream/stateful.rb', line 142 def write_key_value(key, value, before = '') write_comma stream.write(before) increment write_key(key) 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 |