diff options
author | Florian Frank <flori@ping.de> | 2009-12-03 01:35:45 +0100 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2009-12-03 01:36:34 +0100 |
commit | 8950d70e1f7e96130b0465879f822f7015730943 (patch) | |
tree | 7fb169c169cbccf006e8c32359cf39bbfdaf243d | |
parent | 67e34c95f98c3c0f2fc404c5d02c9753be15d33b (diff) | |
download | json-8950d70e1f7e96130b0465879f822f7015730943.tar.gz |
serialise symbols in add/core
-rw-r--r-- | lib/json/add/core.rb | 13 |
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 |