Returns a JSON string containing a JSON object, that is unparsed from this Hash instance. state is a JSON::State object, that can also be used to configure the produced JSON string output further. depth is used to find out nesting depth, to indent accordingly.
# File lib/json/pure/generator.rb, line 255 255: def to_json(state = nil, *) 256: state = State.from_state(state) 257: state.check_max_nesting 258: json_transform(state) 259: end
# File lib/json/pure/generator.rb, line 263 263: def json_shift(state) 264: state.object_nl.empty? or return '' 265: state.indent * state.depth 266: end
# File lib/json/pure/generator.rb, line 268 268: def json_transform(state) 269: delim = ',' 270: delim << state.object_nl 271: result = '{' 272: result << state.object_nl 273: depth = state.depth += 1 274: first = true 275: indent = !state.object_nl.empty? 276: each { |key,value| 277: result << delim unless first 278: result << state.indent * depth if indent 279: result << key.to_s.to_json(state) 280: result << state.space_before 281: result << ':' 282: result << state.space 283: result << value.to_json(state) 284: first = false 285: } 286: depth = state.depth -= 1 287: result << state.object_nl 288: result << state.indent * depth if indent if indent 289: result << '}' 290: result 291: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.