Class: PigeonHole::TypedJSON
- Inherits:
-
Object
- Object
- PigeonHole::TypedJSON
show all
- Defined in:
- lib/pigeon_hole/typed_json.rb
Defined Under Namespace
Classes: DuplicatedKey, UnsupportedType
Constant Summary
collapse
- BASIC_TYPES =
[
NilClass,
String,
Integer,
Float,
TrueClass,
FalseClass,
].uniq.freeze
- DESERIALIZERS =
{
JSONDate::TYPE_VALUE => JSONDate,
JSONSymbol::TYPE_VALUE => JSONSymbol,
JSONTime::TYPE_VALUE => JSONTime,
}.freeze
- SERIALIZERS =
{
Date => JSONDate,
Symbol => JSONSymbol,
Time => JSONTime,
}.freeze
- TYPE_KEY =
'*'.freeze
Class Method Summary
collapse
Class Method Details
.generate(obj, *args) ⇒ Object
63
64
65
66
|
# File 'lib/pigeon_hole/typed_json.rb', line 63
def self.generate(obj, *args)
hash_dup = serialize_value(obj)
JSON.generate(hash_dup, *args)
end
|
.parse(value) ⇒ Object
68
69
70
71
|
# File 'lib/pigeon_hole/typed_json.rb', line 68
def self.parse(value)
hash = JSON.parse(value)
translate(hash)
end
|
.translate(hash) ⇒ Object
73
74
75
|
# File 'lib/pigeon_hole/typed_json.rb', line 73
def self.translate(hash)
deserialize_value(hash)
end
|