module MaxCube::Messages::TCP::Serializer::MessageT
Command to delete one or more devices from the Cube. Acknowledgement (A) follows.
Constants
- KEYS
Mandatory hash keys.
count
key would cause ambuigity if it was optional due torf_addresses
has variable size.
Private Instance Methods
serialize_tcp_t(hash)
click to toggle source
# File lib/maxcube/messages/tcp/type/t.rb, line 16 def serialize_tcp_t(hash) force = to_bool('force mode', hash[:force]) ? '1' : '0' rf_addresses = to_ints(0, 'RF addresses', *hash[:rf_addresses]) count = to_int(0, 'count', hash[:count]) unless count == rf_addresses.size raise InvalidMessageBody .new(@msg_type, 'count and number of devices mismatch: ' \ "#{count} != #{rf_addresses.size}") end if count.zero? raise InvalidMessageBody .new(@msg_type, 'no device specified') end addrs = encode(serialize(*rf_addresses, esize: 3)) [format('%02x', count), force, addrs].join(',') end