Skip to content

Commit

Permalink
Remove deprecated ActiveSupport::JSON::Encoding.encode_big_decimal_as…
Browse files Browse the repository at this point in the history
…_string=
  • Loading branch information
rafaelfranca committed Jan 4, 2015
1 parent e1c8b9f commit c8019c0
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 43 deletions.
5 changes: 5 additions & 0 deletions activesupport/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
* Remove deprecated methods `ActiveSupport::JSON::Encoding.encode_big_decimal_as_string=`
and `ActiveSupport::JSON::Encoding.encode_big_decimal_as_string`.

*Rafael Mendonça França*

* Remove deprecated `ActiveSupport::SafeBuffer#prepend`.

*Rafael Mendonça França*
Expand Down
27 changes: 0 additions & 27 deletions activesupport/lib/active_support/json/encoding.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ class << self
delegate :use_standard_json_time_format, :use_standard_json_time_format=,
:time_precision, :time_precision=,
:escape_html_entities_in_json, :escape_html_entities_in_json=,
:encode_big_decimal_as_string, :encode_big_decimal_as_string=,
:json_encoder, :json_encoder=,
:to => :'ActiveSupport::JSON::Encoding'
end
Expand Down Expand Up @@ -114,32 +113,6 @@ class << self
# in +Object#to_json+ and +ActiveSupport::JSON.encode+.
attr_accessor :json_encoder

def encode_big_decimal_as_string=(as_string)
message = \
"The JSON encoder in Rails 4.1 no longer supports encoding BigDecimals as JSON numbers. Instead, " \
"the new encoder will always encode them as strings.\n\n" \
"You are seeing this error because you have 'active_support.encode_big_decimal_as_string' in " \
"your configuration file. If you have been setting this to true, you can safely remove it from " \
"your configuration. Otherwise, you should add the 'activesupport-json_encoder' gem to your " \
"Gemfile in order to restore this functionality."

raise NotImplementedError, message
end

def encode_big_decimal_as_string
message = \
"The JSON encoder in Rails 4.1 no longer supports encoding BigDecimals as JSON numbers. Instead, " \
"the new encoder will always encode them as strings.\n\n" \
"You are seeing this error because you are trying to check the value of the related configuration, " \
"`active_support.encode_big_decimal_as_string`. If your application depends on this option, you should " \
"add the 'activesupport-json_encoder' gem to your Gemfile. For now, this option will always be true. " \
"In the future, it will be removed from Rails, so you should stop checking its value."

ActiveSupport::Deprecation.warn message

true
end

# Deprecate CircularReferenceError
def const_missing(name)
if name == :CircularReferenceError
Expand Down
16 changes: 0 additions & 16 deletions activesupport/test/json/encoding_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -176,22 +176,6 @@ def test_wide_utf8_roundtrip
assert_equal "𐒑", decoded_hash['string']
end

def test_reading_encode_big_decimal_as_string_option
assert_deprecated do
assert ActiveSupport.encode_big_decimal_as_string
end
end

def test_setting_deprecated_encode_big_decimal_as_string_option
assert_raise(NotImplementedError) do
ActiveSupport.encode_big_decimal_as_string = true
end

assert_raise(NotImplementedError) do
ActiveSupport.encode_big_decimal_as_string = false
end
end

def test_exception_raised_when_encoding_circular_reference_in_array
a = [1]
a << a
Expand Down

0 comments on commit c8019c0

Please sign in to comment.