summaryrefslogtreecommitdiff
path: root/ext/json/lib/json/add/core.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/json/lib/json/add/core.rb')
-rw-r--r--ext/json/lib/json/add/core.rb27
1 files changed, 7 insertions, 20 deletions
diff --git a/ext/json/lib/json/add/core.rb b/ext/json/lib/json/add/core.rb
index 03a00dded42..4423e7ad75a 100644
--- a/ext/json/lib/json/add/core.rb
+++ b/ext/json/lib/json/add/core.rb
@@ -7,19 +7,6 @@ unless Object.const_defined?(:JSON) and ::JSON.const_defined?(:JSON_LOADED) and
end
require 'date'
-class Symbol
- def to_json(*a)
- {
- JSON.create_id => self.class.name,
- 's' => to_s,
- }.to_json(*a)
- end
-
- def self.json_create(o)
- o['s'].to_sym
- end
-end
-
class Time
def self.json_create(object)
if usec = object.delete('u') # used to be tv_usec -> tv_nsec
@@ -34,7 +21,7 @@ class Time
def to_json(*args)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
's' => tv_sec,
'n' => respond_to?(:tv_nsec) ? tv_nsec : tv_usec * 1000
}.to_json(*args)
@@ -50,7 +37,7 @@ class Date
def to_json(*args)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
'y' => year,
'm' => month,
'd' => day,
@@ -76,7 +63,7 @@ class DateTime
def to_json(*args)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
'y' => year,
'm' => month,
'd' => day,
@@ -96,7 +83,7 @@ class Range
def to_json(*args)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
'a' => [ first, last, exclude_end? ]
}.to_json(*args)
end
@@ -111,7 +98,7 @@ class Struct
klass = self.class.name
klass.to_s.empty? and raise JSON::JSONError, "Only named structs are supported!"
{
- JSON.create_id => klass,
+ 'json_class' => klass,
'v' => values,
}.to_json(*args)
end
@@ -126,7 +113,7 @@ class Exception
def to_json(*args)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
'm' => message,
'b' => backtrace,
}.to_json(*args)
@@ -140,7 +127,7 @@ class Regexp
def to_json(*)
{
- JSON.create_id => self.class.name,
+ 'json_class' => self.class.name,
'o' => options,
's' => source,
}.to_json