summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/json/lib/json/common.rb18
-rwxr-xr-xtest/json/json_generator_test.rb19
2 files changed, 4 insertions, 33 deletions
diff --git a/ext/json/lib/json/common.rb b/ext/json/lib/json/common.rb
index b2f11afe55..c9f6d7505b 100644
--- a/ext/json/lib/json/common.rb
+++ b/ext/json/lib/json/common.rb
@@ -74,16 +74,6 @@ module JSON
$VERBOSE = old
end
- def create_fast_state
- State.new(
- :indent => '',
- :space => '',
- :object_nl => "",
- :array_nl => "",
- :max_nesting => false
- )
- end
-
def create_pretty_state
State.new(
:indent => ' ',
@@ -368,12 +358,12 @@ module JSON
# # Raises SystemStackError (stack level too deep):
# JSON.fast_generate(a)
def fast_generate(obj, opts = nil)
- if State === opts
- state = opts
+ if RUBY_VERSION >= "3.0"
+ warn "JSON.fast_generate is deprecated and will be removed in json 3.0.0, just use JSON.generate", uplevel: 1, category: :deprecated
else
- state = JSON.create_fast_state.configure(opts)
+ warn "JSON.fast_generate is deprecated and will be removed in json 3.0.0, just use JSON.generate", uplevel: 1
end
- state.generate(obj)
+ generate(obj, opts)
end
# :call-seq:
diff --git a/test/json/json_generator_test.rb b/test/json/json_generator_test.rb
index f0dec452f3..64636c12c2 100755
--- a/test/json/json_generator_test.rb
+++ b/test/json/json_generator_test.rb
@@ -237,25 +237,6 @@ class JSONGeneratorTest < Test::Unit::TestCase
}.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s })
end
- def test_fast_state
- state = JSON.create_fast_state
- assert_equal({
- :allow_nan => false,
- :array_nl => "",
- :as_json => false,
- :ascii_only => false,
- :buffer_initial_length => 1024,
- :depth => 0,
- :script_safe => false,
- :strict => false,
- :indent => "",
- :max_nesting => 0,
- :object_nl => "",
- :space => "",
- :space_before => "",
- }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s })
- end
-
def test_allow_nan
error = assert_raise(GeneratorError) { generate([JSON::NaN]) }
assert_same JSON::NaN, error.invalid_object