Module: MaxCube::Messages::Handler
Constant Summary
DAYS_OF_WEEK, DEVICE_MODE, DEVICE_TYPE, PACK_FORMAT
Instance Method Summary
collapse
Instance Method Details
#check_data_type(raw_data) ⇒ Object
15
16
17
18
|
# File 'lib/maxcube/messages/handler.rb', line 15
def check_data_type(raw_data)
raise TypeError unless valid_data_type(raw_data)
raw_data
end
|
#check_hash(hash) ⇒ Object
90
91
92
93
94
95
|
# File 'lib/maxcube/messages/handler.rb', line 90
def check_hash(hash)
check_hash_msg_type(hash)
check_hash_keys(hash)
check_hash_values(hash)
hash
end
|
#check_hash_keys(hash) ⇒ Object
67
68
69
70
|
# File 'lib/maxcube/messages/handler.rb', line 67
def check_hash_keys(hash)
maybe_check_valid_hash_keys(hash, true)
hash
end
|
#check_hash_msg_type(hash) ⇒ Object
49
50
51
52
53
|
# File 'lib/maxcube/messages/handler.rb', line 49
def check_hash_msg_type(hash)
msg_type = hash[:type]
check_msg_type(msg_type)
msg_type
end
|
#check_hash_values(hash) ⇒ Object
76
77
78
79
80
81
82
|
# File 'lib/maxcube/messages/handler.rb', line 76
def check_hash_values(hash)
return hash if valid_hash_values(hash)
hash = hash.dup
hash.delete(:type)
raise InvalidMessageBody
.new(@msg_type, "invalid hash values: #{hash}")
end
|
#check_msg(msg) ⇒ Object
41
42
43
|
# File 'lib/maxcube/messages/handler.rb', line 41
def check_msg(msg)
check_msg_msg_type(msg)
end
|
#check_msg_msg_type(msg) ⇒ Object
33
34
35
|
# File 'lib/maxcube/messages/handler.rb', line 33
def check_msg_msg_type(msg)
check_msg_type(msg_msg_type(msg))
end
|
#check_msg_type(msg_type) ⇒ Object
24
25
26
27
|
# File 'lib/maxcube/messages/handler.rb', line 24
def check_msg_type(msg_type)
maybe_check_valid_msg_type(msg_type, true)
@msg_type
end
|
#msg_type_hash_keys(msg_type) ⇒ Object
55
56
57
|
# File 'lib/maxcube/messages/handler.rb', line 55
def msg_type_hash_keys(msg_type)
msg_type_which_hash_keys(msg_type, false)
end
|
#msg_type_hash_opt_keys(msg_type) ⇒ Object
59
60
61
|
# File 'lib/maxcube/messages/handler.rb', line 59
def msg_type_hash_opt_keys(msg_type)
msg_type_which_hash_keys(msg_type, true)
end
|
#valid_data_type(raw_data) ⇒ Object
11
12
13
|
# File 'lib/maxcube/messages/handler.rb', line 11
def valid_data_type(raw_data)
raw_data.is_a?(String)
end
|
#valid_hash(hash) ⇒ Object
84
85
86
87
88
|
# File 'lib/maxcube/messages/handler.rb', line 84
def valid_hash(hash)
valid_hash_msg_type(hash) &&
valid_hash_keys(hash) &&
valid_hash_values(hash)
end
|
#valid_hash_keys(hash) ⇒ Object
63
64
65
|
# File 'lib/maxcube/messages/handler.rb', line 63
def valid_hash_keys(hash)
maybe_check_valid_hash_keys(hash, false)
end
|
#valid_hash_msg_type(hash) ⇒ Object
45
46
47
|
# File 'lib/maxcube/messages/handler.rb', line 45
def valid_hash_msg_type(hash)
valid_msg_type(hash[:type])
end
|
#valid_hash_values(hash) ⇒ Object
72
73
74
|
# File 'lib/maxcube/messages/handler.rb', line 72
def valid_hash_values(hash)
hash.none? { |_, v| v.nil? }
end
|
#valid_msg(msg) ⇒ Object
37
38
39
|
# File 'lib/maxcube/messages/handler.rb', line 37
def valid_msg(msg)
valid_msg_msg_type(msg)
end
|
#valid_msg_msg_type(msg) ⇒ Object
29
30
31
|
# File 'lib/maxcube/messages/handler.rb', line 29
def valid_msg_msg_type(msg)
valid_msg_type(msg_msg_type(msg))
end
|
#valid_msg_type(msg_type) ⇒ Object
20
21
22
|
# File 'lib/maxcube/messages/handler.rb', line 20
def valid_msg_type(msg_type)
maybe_check_valid_msg_type(msg_type, false)
end
|