Sha256: 8c2ba93a2ef248e86788c2bd9a40237e67b3883951ecfe375ac995fdc39c3799
Contents?: true
Size: 403 Bytes
Versions: 3
Compression:
Stored size: 403 Bytes
Contents
require 'msgpack' require 'speed_gun' class SpeedGun::Store def serialize(obj) ["#{obj.class.name}/#{obj.id}", MessagePack.pack(obj.to_hash)] end def deserialize(key, msg) return nil if msg.nil? || msg.empty? hash = MessagePack.unpack(msg) klass, id = *key.split('/', 2) obj = Object.const_get(klass).from_hash(hash) obj.instance_variable_set(:@id, id) obj end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
speed_gun-2.0.1 | lib/speed_gun/store.rb |
speed_gun-2.0.0 | lib/speed_gun/store.rb |
speed_gun-2.0.0.pre.alpha.1 | lib/speed_gun/store.rb |