summaryrefslogtreecommitdiff
path: root/lib/json
diff options
context:
space:
mode:
Diffstat (limited to 'lib/json')
-rw-r--r--lib/json/ext/generator/state.rb105
1 files changed, 0 insertions, 105 deletions
diff --git a/lib/json/ext/generator/state.rb b/lib/json/ext/generator/state.rb
deleted file mode 100644
index 6cd9496e67..0000000000
--- a/lib/json/ext/generator/state.rb
+++ /dev/null
@@ -1,105 +0,0 @@
-# frozen_string_literal: true
-
-module JSON
- module Ext
- module Generator
- class State
- # call-seq: 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: ''),
- # * *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.
- # * *ascii_only*: true if only ASCII characters should be generated. This
- # option defaults to false.
- # * *buffer_initial_length*: sets the initial length of the generator's
- # internal buffer.
- def initialize(opts = nil)
- if opts && !opts.empty?
- configure(opts)
- end
- end
-
- # call-seq: configure(opts)
- #
- # Configure this State instance with the Hash _opts_, and return
- # itself.
- def configure(opts)
- unless opts.is_a?(Hash)
- if opts.respond_to?(:to_hash)
- opts = opts.to_hash
- elsif opts.respond_to?(:to_h)
- opts = opts.to_h
- else
- raise TypeError, "can't convert #{opts.class} into Hash"
- end
- end
- _configure(opts)
- end
-
- alias_method :merge, :configure
-
- # call-seq: to_h
- #
- # Returns the configuration instance variables as a hash, that can be
- # passed to the configure method.
- def to_h
- result = {
- indent: indent,
- space: space,
- space_before: space_before,
- object_nl: object_nl,
- array_nl: array_nl,
- allow_nan: allow_nan?,
- ascii_only: ascii_only?,
- max_nesting: max_nesting,
- script_safe: script_safe?,
- strict: strict?,
- depth: depth,
- buffer_initial_length: buffer_initial_length,
- }
-
- instance_variables.each do |iv|
- iv = iv.to_s[1..-1]
- result[iv.to_sym] = self[iv]
- end
-
- result
- end
-
- alias_method :to_hash, :to_h
-
- # call-seq: [](name)
- #
- # Returns the value returned by method +name+.
- def [](name)
- if respond_to?(name)
- __send__(name)
- else
- instance_variable_get("@#{name}") if
- instance_variables.include?("@#{name}".to_sym) # avoid warning
- end
- end
-
- # call-seq: []=(name, value)
- #
- # Sets the attribute name to value.
- def []=(name, value)
- if respond_to?(name_writer = "#{name}=")
- __send__ name_writer, value
- else
- instance_variable_set "@#{name}", value
- end
- end
- end
- end
- end
-end