blob: 6c828293e8deb0585a244197aac2c5df1455910e (
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
|
require 'active_support/json/encoding'
require 'active_support/json/decoding'
module ActiveSupport
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
|