Class: MaxCube::Messages::TCP::Serializer
- Inherits:
-
Object
- Object
- MaxCube::Messages::TCP::Serializer
- Includes:
- Serializer, Handler, MessageA, MessageC, MessageF, MessageL, MessageM, MessageN, MessageQ, MessageS, MessageT, MessageU, MessageZ
- Defined in:
- lib/maxcube/messages/tcp/type/a.rb,
lib/maxcube/messages/tcp/type/c.rb,
lib/maxcube/messages/tcp/type/f.rb,
lib/maxcube/messages/tcp/type/l.rb,
lib/maxcube/messages/tcp/type/m.rb,
lib/maxcube/messages/tcp/type/n.rb,
lib/maxcube/messages/tcp/type/q.rb,
lib/maxcube/messages/tcp/type/s.rb,
lib/maxcube/messages/tcp/type/t.rb,
lib/maxcube/messages/tcp/type/u.rb,
lib/maxcube/messages/tcp/type/z.rb,
lib/maxcube/messages/tcp/serializer.rb
Defined Under Namespace
Modules: MessageA, MessageC, MessageF, MessageL, MessageM, MessageN, MessageQ, MessageS, MessageT, MessageU, MessageZ
Constant Summary collapse
- MSG_TYPES =
%w[u i s m n x g q e d B G J P O V W a r t l c v f z].freeze
Constants included from MaxCube::Messages
DAYS_OF_WEEK, DEVICE_MODE, DEVICE_TYPE, PACK_FORMAT
Instance Method Summary collapse
-
#serialize_tcp_hash(hash) ⇒ String
Serialize data from hash into message with “rn” at the end.
-
#serialize_tcp_hashes(hashes) ⇒ String
Send set of messages separated by “rn”.
Methods included from Serializer
#serialize, #serialize_hash_body, #write
Methods included from Handler
#check_data_type, #check_hash, #check_hash_keys, #check_hash_msg_type, #check_hash_values, #check_msg, #check_msg_msg_type, #check_msg_type, #msg_type_hash_keys, #msg_type_hash_opt_keys, #valid_data_type, #valid_hash, #valid_hash_keys, #valid_hash_msg_type, #valid_hash_values, #valid_msg, #valid_msg_msg_type, #valid_msg_type
Methods included from Handler
#check_tcp_data, #check_tcp_hash, #check_tcp_msg, #check_tcp_msg_format, #check_tcp_msg_length, #valid_tcp_data, #valid_tcp_hash, #valid_tcp_msg, #valid_tcp_msg_format, #valid_tcp_msg_length
Instance Method Details
#serialize_tcp_hash(hash) ⇒ String
Serialize data from hash into message with “rn” at the end
39 40 41 42 43 |
# File 'lib/maxcube/messages/tcp/serializer.rb', line 39 def serialize_tcp_hash(hash) check_tcp_hash(hash) msg = "#{@msg_type}:" << serialize_hash_body(hash, 'tcp') check_tcp_msg(msg) << "\r\n" end |
#serialize_tcp_hashes(hashes) ⇒ String
Send set of messages separated by “rn”
30 31 32 33 |
# File 'lib/maxcube/messages/tcp/serializer.rb', line 30 def serialize_tcp_hashes(hashes) raw_data = hashes.map(&method(:serialize_tcp_hash)).join check_tcp_data(raw_data) end |