Method: PSON.generate
- Defined in:
- lib/puppet/external/pson/common.rb
.generate(obj, state = nil) ⇒ Object Also known as: unparse
Unparse the Ruby data structure obj into a single line PSON string and return it. state is
-
a PSON::State object,
-
or a Hash like object (responding to to_hash),
-
an object convertible into a hash by a to_h method,
that is used as or to configure a State object.
It defaults to a state object, that creates the shortest possible PSON text in one line, checks for circular data structures and doesn’t allow NaN, Infinity, and -Infinity.
A state hash 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 PSON object (default: ”),
-
array_nl: a string that is put at the end of a PSON array (default: ”),
-
check_circular: true if checking for circular data structures should be done (the default), false 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.
-
max_nesting: The maximum depth of nesting allowed in the data structures from which PSON is to be generated. Disable depth checking with :max_nesting => false, it defaults to 19.
See also the fast_generate for the fastest creation method with the least amount of sanity checks, and the pretty_generate method for some defaults for a pretty output.
177 178 179 180 181 182 183 184 |
# File 'lib/puppet/external/pson/common.rb', line 177 def generate(obj, state = nil) if state state = State.from_state(state) else state = State.new end obj.to_pson(state) end |