summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext')
-rwxr-xr-xvendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator.bundlebin0 -> 98464 bytes
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator/state.rb104
-rwxr-xr-xvendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/parser.bundlebin0 -> 100048 bytes
3 files changed, 104 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator.bundle b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator.bundle
new file mode 100755
index 0000000..96b7040
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator.bundle
Binary files differ
diff --git a/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator/state.rb b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator/state.rb
new file mode 100644
index 0000000..3c1d2fb
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/generator/state.rb
@@ -0,0 +1,104 @@
+# frozen_string_literal: true
+
+module JSON
+ module Ext
+ module Generator
+ class State
+ # call-seq: new(opts = {})
+ #
+ # Instantiates a new State object, configured by _opts_.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the generation.
+ # See {Generating Options}[rdoc-ref:JSON@Generating+Options].
+ 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,
+ as_json: as_json,
+ 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,
+ sort_keys: sort_keys
+ }
+
+ allow_duplicate_key = allow_duplicate_key?
+ unless allow_duplicate_key.nil?
+ result[:allow_duplicate_key] = allow_duplicate_key
+ end
+
+ 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)
+ ::JSON.deprecation_warning("JSON::State#[] is deprecated and will be removed in json 3.0.0")
+
+ 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)
+ ::JSON.deprecation_warning("JSON::State#[]= is deprecated and will be removed in json 3.0.0")
+
+ if respond_to?(name_writer = "#{name}=")
+ __send__ name_writer, value
+ else
+ instance_variable_set "@#{name}", value
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/parser.bundle b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/parser.bundle
new file mode 100755
index 0000000..432f107
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/json-2.21.1/lib/json/ext/parser.bundle
Binary files differ