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:35:45 +0100 |
commit | c87e58659b1d304e67190bdbe86580400f2514b0 (patch) | |
tree | 865ca439faa77e26c398d5a07ec81573d4f71a98 | |
parent | 14d97def3f9a3fed4d0b5721144bb60fe481896b (diff) | |
download | json-c87e58659b1d304e67190bdbe86580400f2514b0.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 |