Class: JsonWriteStream::StatefulArrayWriter

Inherits:
BaseWriter
  • Object
show all
Defined in:
lib/json-write-stream/stateful.rb

Instance Attribute Summary

Attributes inherited from BaseWriter

#indent_level, #index, #writer

Instance Method Summary collapse

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_initializeObject



247
248
249
250
# File 'lib/json-write-stream/stateful.rb', line 247

def after_initialize
  stream.write("[")
  write_newline
end

#closeObject



273
274
275
276
277
# File 'lib/json-write-stream/stateful.rb', line 273

def close
  write_newline
  indent(indent_level - 1)
  stream.write("]")
end

#is_array?Boolean

Returns:

  • (Boolean)


283
284
285
# File 'lib/json-write-stream/stateful.rb', line 283

def is_array?
  true
end

#is_object?Boolean

Returns:

  • (Boolean)


279
280
281
# File 'lib/json-write-stream/stateful.rb', line 279

def is_object?
  false
end

#write_arrayObject

prep work



260
261
262
263
264
# File 'lib/json-write-stream/stateful.rb', line 260

def write_array
  write_comma
  increment
  indent
end

#write_element(element) ⇒ Object



252
253
254
255
256
257
# File 'lib/json-write-stream/stateful.rb', line 252

def write_element(element)
  write_comma
  increment
  indent
  stream.write(escape(element))
end

#write_objectObject

prep work



267
268
269
270
271
# File 'lib/json-write-stream/stateful.rb', line 267

def write_object
  write_comma
  increment
  indent
end