Class: JsonWriteStream::StatefulObjectWriter

Inherits:
StatefulWriter show all
Defined in:
lib/json-write-stream/stateful.rb

Instance Attribute Summary

Attributes inherited from StatefulWriter

#closed, #index, #stack, #stream

Instance Method Summary collapse

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_initializeObject



122
123
124
# File 'lib/json-write-stream/stateful.rb', line 122

def after_initialize
  stream.write('{')
end

#closeObject



152
153
154
# File 'lib/json-write-stream/stateful.rb', line 152

def close
  stream.write('}')
end

#is_array?Boolean

Returns:

  • (Boolean)


160
161
162
# File 'lib/json-write-stream/stateful.rb', line 160

def is_array?
  false
end

#is_object?Boolean

Returns:

  • (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, options = DEFAULT_OPTIONS)
  write_comma
  stream.write(options.fetch(:before, DEFAULT_OPTIONS[:before]))
  increment
  write_key(key)
  stream.write(':')
  stream.write(options.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