Module: ImageFilterDsl::Serializers::MsgPack
- Extended by:
- MsgPack
- Includes:
- Common
- Included in:
- MsgPack
- Defined in:
- lib/image_filter_dsl/serializers/msg_pack.rb
Overview
Provides serialization/deserialization to/from MessagePack strings using intermediate serializer
Constant Summary collapse
- HEADER =
‘Header’ added to start of array packed with MsgPack
['mp',ImageFilterDsl::Binary::Struct::HEADER_VALUES.values].flatten
Instance Method Summary collapse
-
#deserialize(data) ⇒ Hash
Deserialize MessagePack kernel to intermediate format.
-
#serialize(kernel) ⇒ String
Serialize kernel to MessagePack string.
Methods included from Common
Instance Method Details
#deserialize(data) ⇒ Hash
Deserialize MessagePack kernel to intermediate format
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/image_filter_dsl/serializers/msg_pack.rb', line 35 def deserialize(data) data = MessagePack.unpack(data) head,inps,outs,ins=data d = { inputs: normalize_sym(inps), outputs: normalize_sym(outs), instructions: ins.map do |i| op,iin,iout=i fix_hash({op: op, in: iin, out: iout}) end } return d end |
#serialize(kernel) ⇒ String
Serialize kernel to MessagePack string
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/image_filter_dsl/serializers/msg_pack.rb', line 21 def serialize(kernel) [ HEADER, kernel[:inputs], kernel[:outputs], kernel[:instructions].map do |i| [i[:op],i[:in],i[:out]] end ].to_msgpack end |