1. JSON::
  2. GenericObject

class JSON::GenericObject

Attributes

json_creatable[W]

Public Class Methods

Source
# File ext/json/lib/json/generic_object.rb, line 45defdump(obj,*args)::JSON.dump(obj,*args)end
Source
# File ext/json/lib/json/generic_object.rb, line 25deffrom_hash(object)casewhenobject.respond_to?(:to_hash)result =newobject.to_hash.eachdo|key,value|result[key] =from_hash(value)endresultwhenobject.respond_to?(:to_ary)object.to_ary.map {|a|from_hash(a) }elseobjectendend
Source
# File ext/json/lib/json/generic_object.rb, line 13defjson_creatable?@json_creatableend
Source
# File ext/json/lib/json/generic_object.rb, line 19defjson_create(data)data =data.dupdata.deleteJSON.create_idself[data]end
Source
# File ext/json/lib/json/generic_object.rb, line 40defload(source,proc =nil,opts = {})result =::JSON.load(source,proc,opts.merge(:object_class=>self))result.nil??new:resultend

Public Instance Methods

Source
# File ext/json/lib/json/generic_object.rb, line 55def|(other)self.class[other.to_hash.merge(to_hash)]end
Source
# File ext/json/lib/json/generic_object.rb, line 59defas_json(*)  {JSON.create_id=>self.class.name }.mergeto_hashend
Source
# File ext/json/lib/json/generic_object.rb, line 51defto_hashtableend
Source
# File ext/json/lib/json/generic_object.rb, line 63defto_json(*a)as_json.to_json(*a)end