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



150
151
152
# File 'lib/json-write-stream/stateful.rb', line 150

def close
  stream.write('}')
end

#is_array?Boolean

Returns:

  • (Boolean)


158
159
160
# File 'lib/json-write-stream/stateful.rb', line 158

def is_array?
  false
end

#is_object?Boolean

Returns:

  • (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