Module: MaxCube::Messages::TCP::Handler
- Includes:
- Handler
- Included in:
- Serializer
- Defined in:
- lib/maxcube/messages/tcp/handler.rb
Constant Summary
DAYS_OF_WEEK, DEVICE_MODE, DEVICE_TYPE, PACK_FORMAT
Instance Method Summary
collapse
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
Instance Method Details
#check_tcp_data(raw_data) ⇒ Object
56
57
58
59
60
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 56
def check_tcp_data(raw_data)
raise InvalidMessageFormat unless valid_tcp_data(raw_data)
raw_data
end
|
#check_tcp_hash(hash) ⇒ Object
46
47
48
49
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 46
def check_tcp_hash(hash)
check_hash(hash)
hash
end
|
#check_tcp_msg(msg) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 35
def check_tcp_msg(msg)
check_tcp_msg_length(msg)
check_tcp_msg_format(msg)
check_msg(msg)
msg
end
|
23
24
25
26
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 23
def check_tcp_msg_format(msg)
raise InvalidMessageFormat unless valid_tcp_msg_format(msg)
msg
end
|
#check_tcp_msg_length(msg) ⇒ Object
14
15
16
17
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 14
def check_tcp_msg_length(msg)
raise InvalidMessageLength unless valid_tcp_msg_length(msg)
msg.length
end
|
#valid_tcp_data(raw_data) ⇒ Object
51
52
53
54
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 51
def valid_tcp_data(raw_data)
return true if raw_data.empty?
raw_data[0..1] != "\r\n" && raw_data.chars.last(2).join == "\r\n"
end
|
#valid_tcp_hash(hash) ⇒ Object
42
43
44
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 42
def valid_tcp_hash(hash)
valid_hash(hash)
end
|
#valid_tcp_msg(msg) ⇒ Object
Check single message validity, already without “rn” at the end
29
30
31
32
33
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 29
def valid_tcp_msg(msg)
valid_tcp_msg_length(msg) &&
valid_tcp_msg_format(msg) &&
valid_msg(msg)
end
|
19
20
21
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 19
def valid_tcp_msg_format(msg)
msg =~ /\A[[:alpha:]]:[[:print:]]*\z/
end
|
#valid_tcp_msg_length(msg) ⇒ Object
10
11
12
|
# File 'lib/maxcube/messages/tcp/handler.rb', line 10
def valid_tcp_msg_length(msg)
msg.length.between?(2, MSG_MAX_LEN)
end
|