diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2013-10-30 10:58:20 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2013-10-30 10:58:20 -0700 |
commit | 9e4efed6e0c3fde2944b01e558a61d5b7a188d21 (patch) | |
tree | 2df3256b8da7efc52f4da3e13300562cdd9abfcc /activesupport/lib/active_support/json/decoding.rb | |
parent | dae66a0c9733a7fd2ba4357e24b03b386be3e38f (diff) | |
parent | 1fb79691548cd370e83625045a0a445c97fa0dea (diff) | |
download | rails-9e4efed6e0c3fde2944b01e558a61d5b7a188d21.tar.gz rails-9e4efed6e0c3fde2944b01e558a61d5b7a188d21.tar.bz2 rails-9e4efed6e0c3fde2944b01e558a61d5b7a188d21.zip |
Merge pull request #12214 from chancancode/json_decode_does_not_take_options
Raise an error when AS::JSON.decode is called with options
Diffstat (limited to 'activesupport/lib/active_support/json/decoding.rb')
-rw-r--r-- | activesupport/lib/active_support/json/decoding.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/json/decoding.rb b/activesupport/lib/active_support/json/decoding.rb index 21de09c1cc..315c76199a 100644 --- a/activesupport/lib/active_support/json/decoding.rb +++ b/activesupport/lib/active_support/json/decoding.rb @@ -14,7 +14,14 @@ module ActiveSupport # ActiveSupport::JSON.decode("{\"team\":\"rails\",\"players\":\"36\"}") # => {"team" => "rails", "players" => "36"} def decode(json, options = {}) - data = ::JSON.parse(json, options.merge(create_additions: false, quirks_mode: true)) + if options.present? + raise ArgumentError, "In Rails 4.1, ActiveSupport::JSON.decode no longer " \ + "accepts an options hash for MultiJSON. MultiJSON reached its end of life " \ + "and has been removed." + end + + data = ::JSON.parse(json, quirks_mode: true) + if ActiveSupport.parse_json_times convert_dates_from(data) else |