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:36:34 +0100
commit8950d70e1f7e96130b0465879f822f7015730943 (patch)
tree7fb169c169cbccf006e8c32359cf39bbfdaf243d
parent67e34c95f98c3c0f2fc404c5d02c9753be15d33b (diff)
downloadjson-8950d70e1f7e96130b0465879f822f7015730943.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