Class: JsonWriteStream::StatefulObjectWriter
- Inherits:
-
BaseWriter
- Object
- BaseWriter
- JsonWriteStream::StatefulObjectWriter
- Defined in:
- lib/json-write-stream/stateful.rb
Instance Attribute Summary
Attributes inherited from BaseWriter
#indent_level, #index, #writer
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) ⇒ Object
-
#write_object(key) ⇒ Object
prep work (object is written afterwards).
Methods inherited from BaseWriter
#escape, #increment, #indent, #indent_size, #initialize, #pretty?, #stream, #write_colon, #write_comma, #write_newline
Constructor Details
This class inherits a constructor from JsonWriteStream::BaseWriter
Instance Method Details
#after_initialize ⇒ Object
188 189 190 191 |
# File 'lib/json-write-stream/stateful.rb', line 188 def after_initialize stream.write("{") write_newline end |
#close ⇒ Object
220 221 222 223 224 |
# File 'lib/json-write-stream/stateful.rb', line 220 def close write_newline indent(indent_level - 1) stream.write("}") end |
#is_array? ⇒ Boolean
230 231 232 |
# File 'lib/json-write-stream/stateful.rb', line 230 def is_array? false end |
#is_object? ⇒ Boolean
226 227 228 |
# File 'lib/json-write-stream/stateful.rb', line 226 def is_object? true end |
#write_array(key) ⇒ Object
prep work (array is written afterwards)
194 195 196 197 198 199 200 |
# File 'lib/json-write-stream/stateful.rb', line 194 def write_array(key) write_comma increment indent write_key(key) write_colon end |
#write_key_value(key, value) ⇒ Object
211 212 213 214 215 216 217 218 |
# File 'lib/json-write-stream/stateful.rb', line 211 def write_key_value(key, value) write_comma increment indent write_key(key) write_colon stream.write(escape(value)) end |
#write_object(key) ⇒ Object
prep work (object is written afterwards)
203 204 205 206 207 208 209 |
# File 'lib/json-write-stream/stateful.rb', line 203 def write_object(key) write_comma increment indent write_key(key) write_colon end |