Sha256: 8af957fe16591ebef620587cce635ad1daf831b073009ec998a431e94babce9b
Contents?: true
Size: 800 Bytes
Versions: 2
Compression:
Stored size: 800 Bytes
Contents
require 'dm-core' require 'json' module DataMapper class Property class Json < Text def custom? true end def primitive?(value) value.kind_of?(::Array) || value.kind_of?(::Hash) end def load(value) if value.nil? nil elsif value.is_a?(::String) ::JSON.load(value) else raise ArgumentError.new("+value+ of a property of JSON type must be nil or a String") end end def dump(value) if value.nil? || value.is_a?(::String) value else ::JSON.dump(value) end end def typecast_to_primitive(value) ::JSON.load(value.to_s) end end # class Json JSON = Json end # class Property end # module DataMapper
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dm-types-1.0.0.rc2 | lib/dm-types/json.rb |
dm-types-1.0.0.rc1 | lib/dm-types/json.rb |