Skip to content
Permalink
Browse files

Remove deprecated ActiveSupport::JSON::Encoding.encode_big_decimal_as…

…_string=
  • Loading branch information
rafaelfranca committed Jan 3, 2015
1 parent e1c8b9f commit c8019c0611791b2716c6bed48ef8dcb177b7869c
@@ -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*
@@ -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
@@ -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
@@ -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

0 comments on commit c8019c0

Please sign in to comment.
You can’t perform that action at this time.