Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "redis"
- require "msgpack"
- class Location
- MessagePack.mapping({
- lat: Float64,
- lng: Float64,
- })
- end
- class House
- MessagePack.mapping({
- address: String,
- location: {type: Location, nilable: true},
- })
- end
- r=Redis.new
- mpdata={"address" => "Crystal дорога раз-два-3-4!", "location" => {"lat" => 12.3, "lng" => 34.5}}.to_msgpack
- puts "MPDATA:\n#{mpdata}"
- mpdata_s=String.new(mpdata)
- puts "MPDATA_S:\n#{mpdata_s.to_slice}"
- r.set("mpdata", mpdata_s)
- mpobj=r.get("mpdata")
- puts "MPOBJ.class=#{mpobj.class}"
- if mpobj.is_a?(String)
- puts "MPOBJ (str):\n#{mpobj}"
- puts "MPOBJ (slice):\n#{mpobj.to_slice}"
- house = House.from_msgpack(mpobj.to_slice)
- end
- p house
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement