aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/json/decoding.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2013-10-30 10:58:20 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2013-10-30 10:58:20 -0700
commit9e4efed6e0c3fde2944b01e558a61d5b7a188d21 (patch)
tree2df3256b8da7efc52f4da3e13300562cdd9abfcc /activesupport/lib/active_support/json/decoding.rb
parentdae66a0c9733a7fd2ba4357e24b03b386be3e38f (diff)
parent1fb79691548cd370e83625045a0a445c97fa0dea (diff)
downloadrails-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.rb9
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