blob: 914cf4f8fe7752d4cc1bea506e1d1d2316945211 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
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
boolean do if protected try
break double implements public typeof
byte else import return var
case enum in short void
catch export instanceof static volatile
char extends int super while
class final interface switch with
const finally long synchronized
continue float native this
debugger for new throw
default function package throws
) #:nodoc:
class << self
def valid_identifier?(key) #:nodoc:
key.to_s =~ /^[[:alpha:]_$][[:alnum:]_$]*$/ && !reserved_word?(key)
end
def reserved_word?(key) #:nodoc:
RESERVED_WORDS.include?(key.to_s)
end
end
end
end
require 'active_support/json/encoding'
require 'active_support/json/decoding'
|