module Sequel::Plugins::JsonSerializer::ClassMethods
Attributes
The default opts to use when serializing model objects to JSON.
Public Instance Methods
Source
# File lib/sequel/plugins/json_serializer.rb 193 def array_from_json(json, opts=OPTS) 194 v = Sequel.parse_json(json) 195 if v.is_a?(Array) 196 raise(Error, 'parsed json returned an array containing non-hashes') unless v.all?{|ve| ve.is_a?(Hash) || ve.is_a?(self)} 197 v.map{|ve| ve.is_a?(self) ? ve : new.from_json_node(ve, opts)} 198 else 199 raise(Error, 'parsed json did not return an array') 200 end 201 end
Attempt to parse an array of instances from the given JSON string, with options passed to InstanceMethods#from_json_node.
Source
# File lib/sequel/plugins/json_serializer.rb 169 def freeze 170 @json_serializer_opts.freeze.each_value do |v| 171 v.freeze if v.is_a?(Array) || v.is_a?(Hash) 172 end 173 174 super 175 end
Freeze json serializier opts when freezing model class
Calls superclass method
Source
# File lib/sequel/plugins/json_serializer.rb 179 def from_json(json, opts=OPTS) 180 v = Sequel.parse_json(json) 181 case v 182 when self 183 v 184 when Hash 185 new.from_json_node(v, opts) 186 else 187 raise Error, "parsed json doesn't return a hash or instance of #{self}" 188 end 189 end
Attempt to parse a single instance from the given JSON string, with options passed to InstanceMethods#from_json_node.