Class: JSON::Pure::Generator::State

Class | JSON::Pure::Generator::State
In: | lib/json/pure/generator.rb
Parent: | Object

This class is used to create State instances, that are use to hold data while generating a JSON text from a a Ruby data structure.

### Methods

allow_nan? check_circular? configure forget from_state new remember seen? to_h

### Attributes

array_nl | [RW] | This string is put at the end of a line that holds a JSON array.
indent | [RW] | This string is used to indent levels in the JSON text.
max_nesting | [RW] | This integer returns the maximum level of data structure nesting in the generated JSON, max_nesting = 0 if no maximum is checked.
object_nl | [RW] | This string is put at the end of a line that holds a JSON object (or Hash).
space | [RW] | This string is used to insert a space between the tokens in a JSON string.
space_before | [RW] | This string is used to insert a space before the ’:’ in JSON objects.

### Public Class methods

from_state(opts)

Creates a State object from opts, which ought to be Hash to create a new State instance configured by opts, something else to create an unconfigured instance. If opts is a State object, it is just returned.

new(opts = {})

Instantiates a new State object, configured by opts.

opts can have the following keys:

- indent: a string used to indent levels (default: ’’),
- space: a string that is put after, a : or , delimiter (default: ’’),
- space_before: a string that is put before a : pair delimiter (default: ’’),
- object_nl: a string that is put at the end of a JSON object (default: ’’),
- array_nl: a string that is put at the end of a JSON array (default: ’’),
- check_circular: true if checking for circular data structures should be done (the default), false otherwise.
- check_circular: true if checking for circular data structures should be done, false (the default) otherwise.
- allow_nan: true if NaN, Infinity, and -Infinity should be generated, otherwise an exception is thrown, if these values are encountered. This options defaults to false.

### Public Instance methods

allow_nan?()

Returns true if NaN, Infinity, and -Infinity should be considered as valid JSON and output.

check_circular?()

Returns true, if circular data structures should be checked, otherwise returns false.

configure(opts)

Configure this State instance with the Hash opts, and return itself.

forget(object)

Forget object for this generating run.

remember(object)

Remember object, to find out if it was already encountered (if a cyclic data structure is if a cyclic data structure is rendered).

seen?(object)

Returns true, if object was already seen during this generating run.

to_h()

Returns the configuration instance variables as a hash, that can be passed to the configure method.

[Validate]