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 195 def array_from_json(json, opts=OPTS) 196 v = Sequel.parse_json(json) 197 if v.is_a?(Array) 198 raise(Error, 'parsed json returned an array containing non-hashes') unless v.all?{|ve| ve.is_a?(Hash) || ve.is_a?(self)} 199 v.map{|ve| ve.is_a?(self) ? ve : new.from_json_node(ve, opts)} 200 else 201 raise(Error, 'parsed json did not return an array') 202 end 203 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 171 def freeze 172 @json_serializer_opts.freeze.each_value do |v| 173 v.freeze if v.is_a?(Array) || v.is_a?(Hash) 174 end 175 176 super 177 end
Freeze json serializier opts when freezing model class
Calls superclass method
Source
# File lib/sequel/plugins/json_serializer.rb 181 def from_json(json, opts=OPTS) 182 v = Sequel.parse_json(json) 183 case v 184 when self 185 v 186 when Hash 187 new.from_json_node(v, opts) 188 else 189 raise Error, "parsed json doesn't return a hash or instance of #{self}" 190 end 191 end
Attempt to parse a single instance from the given JSON string, with options passed to InstanceMethods#from_json_node.