diff options
author | Kenta Murata <mrkn@mrkn.jp> | 2020-12-20 12:17:32 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-12-22 13:57:23 +0900 |
commit | 483009dd8a6e9f2a19bce8f77a9541531f4a3eec (patch) | |
tree | c73b6cf1350daeed106990615b7d5f75558f8dec /lib/json/common.rb | |
parent | 1bd46c49c064fb0f30fe679b887bb4034b6af9f5 (diff) | |
download | json-483009dd8a6e9f2a19bce8f77a9541531f4a3eec.tar.gz |
[json] Stop using prototype objects
Diffstat (limited to 'lib/json/common.rb')
-rw-r--r-- | lib/json/common.rb | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/json/common.rb b/lib/json/common.rb index 111d70c..c34fa61 100644 --- a/lib/json/common.rb +++ b/lib/json/common.rb @@ -71,22 +71,27 @@ module JSON end self.state = generator::State const_set :State, self.state - const_set :SAFE_STATE_PROTOTYPE, State.new - const_set :FAST_STATE_PROTOTYPE, State.new( + ensure + $VERBOSE = old + end + + def create_fast_state + State.new( :indent => '', :space => '', :object_nl => "", :array_nl => "", :max_nesting => false ) - const_set :PRETTY_STATE_PROTOTYPE, State.new( + end + + def create_pretty_state + State.new( :indent => ' ', :space => ' ', :object_nl => "\n", :array_nl => "\n" ) - ensure - $VERBOSE = old end # Returns the JSON generator module that is used by JSON. This is @@ -276,7 +281,7 @@ module JSON if State === opts state, opts = opts, nil else - state = SAFE_STATE_PROTOTYPE.dup + state = State.new end if opts if opts.respond_to? :to_hash @@ -315,7 +320,7 @@ module JSON if State === opts state, opts = opts, nil else - state = FAST_STATE_PROTOTYPE.dup + state = JSON.create_fast_state end if opts if opts.respond_to? :to_hash @@ -370,7 +375,7 @@ module JSON if State === opts state, opts = opts, nil else - state = PRETTY_STATE_PROTOTYPE.dup + state = JSON.create_pretty_state end if opts if opts.respond_to? :to_hash |