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?, #in_array?, #in_object?, #initialize, #write_element

Constructor Details

This class inherits a constructor from JsonWriteStream::StatefulWriter

Instance Method Details

#after_initializeObject



117
118
119
# File 'lib/json-write-stream/stateful.rb', line 117

def after_initialize
  stream.write('{')
end

#closeObject



144
145
146
# File 'lib/json-write-stream/stateful.rb', line 144

def close
  stream.write('}')
end

#is_array?Boolean

Returns:

  • (Boolean)


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

def is_array?
  false
end

#is_object?Boolean

Returns:

  • (Boolean)


148
149
150
# File 'lib/json-write-stream/stateful.rb', line 148

def is_object?
  true
end

#write_array(key) ⇒ Object

prep work (array is written afterwards)



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

def write_array(key)
  write_comma
  increment
  write_key(key)
  stream.write(':')
end

#write_key_value(key, value) ⇒ Object



137
138
139
140
141
142
# File 'lib/json-write-stream/stateful.rb', line 137

def write_key_value(key, value)
  write_comma
  increment
  write_key(key)
  stream.write(":#{escape(value)}")
end

#write_object(key) ⇒ Object

prep work (object is written afterwards)



130
131
132
133
134
135
# File 'lib/json-write-stream/stateful.rb', line 130

def write_object(key)
  write_comma
  increment
  write_key(key)
  stream.write(':')
end