Class: JsonWriteStream::BaseWriter
- Inherits:
-
Object
- Object
- JsonWriteStream::BaseWriter
show all
- Defined in:
- lib/json-write-stream/stateful.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(writer, indent_level) ⇒ BaseWriter
Returns a new instance of BaseWriter.
136
137
138
139
140
141
|
# File 'lib/json-write-stream/stateful.rb', line 136
def initialize(writer, indent_level)
@writer = writer
@indent_level = indent_level
@index = 0
after_initialize
end
|
Instance Attribute Details
#indent_level ⇒ Object
Returns the value of attribute indent_level.
134
135
136
|
# File 'lib/json-write-stream/stateful.rb', line 134
def indent_level
@indent_level
end
|
#index ⇒ Object
Returns the value of attribute index.
134
135
136
|
# File 'lib/json-write-stream/stateful.rb', line 134
def index
@index
end
|
#writer ⇒ Object
Returns the value of attribute writer.
134
135
136
|
# File 'lib/json-write-stream/stateful.rb', line 134
def writer
@writer
end
|
Instance Method Details
#after_initialize ⇒ Object
143
144
|
# File 'lib/json-write-stream/stateful.rb', line 143
def after_initialize
end
|
#escape(str) ⇒ Object
162
163
164
|
# File 'lib/json-write-stream/stateful.rb', line 162
def escape(str)
JSON.generate([str])[1..-2]
end
|
#increment ⇒ Object
150
151
152
|
# File 'lib/json-write-stream/stateful.rb', line 150
def increment
@index += 1
end
|
#indent(level = indent_level) ⇒ Object
154
155
156
|
# File 'lib/json-write-stream/stateful.rb', line 154
def indent(level = indent_level)
stream.write(' ' * indent_size * level) if pretty?
end
|
#indent_size ⇒ Object
158
159
160
|
# File 'lib/json-write-stream/stateful.rb', line 158
def indent_size
writer.indent_size
end
|
#pretty? ⇒ Boolean
182
183
184
|
# File 'lib/json-write-stream/stateful.rb', line 182
def pretty?
writer.pretty?
end
|
#stream ⇒ Object
146
147
148
|
# File 'lib/json-write-stream/stateful.rb', line 146
def stream
writer.stream
end
|
#write_colon ⇒ Object
173
174
175
176
|
# File 'lib/json-write-stream/stateful.rb', line 173
def write_colon
stream.write(':')
stream.write(' ') if pretty?
end
|
#write_comma ⇒ Object
166
167
168
169
170
171
|
# File 'lib/json-write-stream/stateful.rb', line 166
def write_comma
if index > 0
stream.write(",")
write_newline
end
end
|
#write_newline ⇒ Object
178
179
180
|
# File 'lib/json-write-stream/stateful.rb', line 178
def write_newline
stream.write("\n") if pretty?
end
|