aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/json.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/lib/active_support/json.rb')
-rw-r--r--activesupport/lib/active_support/json.rb23
1 files changed, 21 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/json.rb b/activesupport/lib/active_support/json.rb
index 5acb02dbe9..914cf4f8fe 100644
--- a/activesupport/lib/active_support/json.rb
+++ b/activesupport/lib/active_support/json.rb
@@ -1,9 +1,25 @@
-require 'active_support/json/encoding'
-require 'active_support/json/decoding'
+
module ActiveSupport
+ # If true, use ISO 8601 format for dates and times. Otherwise, fall back to the ActiveSupport legacy format.
mattr_accessor :use_standard_json_time_format
+ class << self
+ def escape_html_entities_in_json
+ @escape_html_entities_in_json
+ end
+
+ def escape_html_entities_in_json=(value)
+ ActiveSupport::JSON::Encoding.escape_regex = \
+ if value
+ /[\010\f\n\r\t"\\><&]/
+ else
+ /[\010\f\n\r\t"\\]/
+ end
+ @escape_html_entities_in_json = value
+ end
+ end
+
module JSON
RESERVED_WORDS = %w(
abstract delete goto private transient
@@ -31,3 +47,6 @@ module ActiveSupport
end
end
end
+
+require 'active_support/json/encoding'
+require 'active_support/json/decoding'