summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2009-12-03 01:35:45 +0100
committerFlorian Frank <flori@ping.de>2009-12-03 01:35:45 +0100
commitc87e58659b1d304e67190bdbe86580400f2514b0 (patch)
tree865ca439faa77e26c398d5a07ec81573d4f71a98
parent14d97def3f9a3fed4d0b5721144bb60fe481896b (diff)
downloadjson-c87e58659b1d304e67190bdbe86580400f2514b0.tar.gz
serialise symbols in add/core
-rw-r--r--lib/json/add/core.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/json/add/core.rb b/lib/json/add/core.rb
index ae9a4df..03a00dd 100644
--- a/lib/json/add/core.rb
+++ b/lib/json/add/core.rb
@@ -7,6 +7,19 @@ 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