maxcube-client 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/data/save/20180214-2023/recv.data +12 -0
  4. data/data/save/20180214-2023/recv.yaml +152 -0
  5. data/data/save/20180214-2023/sent.data +10 -0
  6. data/data/save/20180214-2023/sent.yaml +26 -0
  7. data/data/save/20180214-2230/recv.data +2 -0
  8. data/data/save/20180214-2230/recv.yaml +68 -0
  9. data/data/save/20180214-2230/sent.data +1 -0
  10. data/data/save/20180214-2230/sent.yaml +19 -0
  11. data/data/save/20180215-0057/recv.data +3 -0
  12. data/data/save/20180215-0057/recv.yaml +69 -0
  13. data/data/save/20180215-0057/sent.data +2 -0
  14. data/data/save/20180215-0057/sent.yaml +22 -0
  15. data/data/save/20180216-1641/recv.data +4 -0
  16. data/data/save/20180216-1641/recv.yaml +133 -0
  17. data/data/save/20180216-1641/sent.data +2 -0
  18. data/data/save/20180216-1641/sent.yaml +3 -0
  19. data/lib/maxcube/version.rb +1 -1
  20. data/maxcube-client.gemspec +5 -6
  21. data/spec/msg_spec.rb +2117 -0
  22. data/spec/spec_helper.rb +7 -0
  23. metadata +21 -75
  24. data/.gitignore +0 -6
  25. data/.rubocop.yml +0 -29
  26. data/.yardopts +0 -1
  27. data/Gemfile +0 -5
  28. data/bin/console +0 -8
  29. data/bin/maxcube-client +0 -6
  30. data/bin/sample_server +0 -13
  31. data/bin/sample_socket +0 -13
  32. data/bin/setup +0 -6
  33. data/doc/MaxCube.html +0 -502
  34. data/doc/MaxCube/Messages.html +0 -1927
  35. data/doc/MaxCube/Messages/Handler.html +0 -2912
  36. data/doc/MaxCube/Messages/InvalidMessage.html +0 -140
  37. data/doc/MaxCube/Messages/InvalidMessageBody.html +0 -264
  38. data/doc/MaxCube/Messages/InvalidMessageFormat.html +0 -247
  39. data/doc/MaxCube/Messages/InvalidMessageLength.html +0 -247
  40. data/doc/MaxCube/Messages/InvalidMessageType.html +0 -263
  41. data/doc/MaxCube/Messages/Parser.html +0 -520
  42. data/doc/MaxCube/Messages/Serializer.html +0 -701
  43. data/doc/MaxCube/Messages/TCP.html +0 -172
  44. data/doc/MaxCube/Messages/TCP/Handler.html +0 -1396
  45. data/doc/MaxCube/Messages/TCP/Parser.html +0 -462
  46. data/doc/MaxCube/Messages/TCP/Parser/MessageA.html +0 -186
  47. data/doc/MaxCube/Messages/TCP/Parser/MessageC.html +0 -1077
  48. data/doc/MaxCube/Messages/TCP/Parser/MessageF.html +0 -206
  49. data/doc/MaxCube/Messages/TCP/Parser/MessageH.html +0 -338
  50. data/doc/MaxCube/Messages/TCP/Parser/MessageL.html +0 -535
  51. data/doc/MaxCube/Messages/TCP/Parser/MessageM.html +0 -510
  52. data/doc/MaxCube/Messages/TCP/Parser/MessageN.html +0 -226
  53. data/doc/MaxCube/Messages/TCP/Parser/MessageS.html +0 -225
  54. data/doc/MaxCube/Messages/TCP/Serializer.html +0 -460
  55. data/doc/MaxCube/Messages/TCP/Serializer/MessageA.html +0 -186
  56. data/doc/MaxCube/Messages/TCP/Serializer/MessageC.html +0 -185
  57. data/doc/MaxCube/Messages/TCP/Serializer/MessageF.html +0 -206
  58. data/doc/MaxCube/Messages/TCP/Serializer/MessageL.html +0 -185
  59. data/doc/MaxCube/Messages/TCP/Serializer/MessageM.html +0 -428
  60. data/doc/MaxCube/Messages/TCP/Serializer/MessageN.html +0 -209
  61. data/doc/MaxCube/Messages/TCP/Serializer/MessageQ.html +0 -185
  62. data/doc/MaxCube/Messages/TCP/Serializer/MessageS.html +0 -1168
  63. data/doc/MaxCube/Messages/TCP/Serializer/MessageT.html +0 -240
  64. data/doc/MaxCube/Messages/TCP/Serializer/MessageU.html +0 -206
  65. data/doc/MaxCube/Messages/TCP/Serializer/MessageZ.html +0 -252
  66. data/doc/MaxCube/Messages/UDP.html +0 -164
  67. data/doc/MaxCube/Messages/UDP/Handler.html +0 -832
  68. data/doc/MaxCube/Messages/UDP/Parser.html +0 -609
  69. data/doc/MaxCube/Messages/UDP/Parser/MessageH.html +0 -218
  70. data/doc/MaxCube/Messages/UDP/Parser/MessageI.html +0 -215
  71. data/doc/MaxCube/Messages/UDP/Parser/MessageN.html +0 -226
  72. data/doc/MaxCube/Messages/UDP/Serializer.html +0 -484
  73. data/doc/MaxCube/Network.html +0 -167
  74. data/doc/MaxCube/Network/TCP.html +0 -150
  75. data/doc/MaxCube/Network/TCP/Client.html +0 -1930
  76. data/doc/MaxCube/Network/TCP/Client/Commands.html +0 -2457
  77. data/doc/MaxCube/Network/TCP/SampleServer.html +0 -910
  78. data/doc/MaxCube/Network/UDP.html +0 -150
  79. data/doc/MaxCube/Network/UDP/Client.html +0 -518
  80. data/doc/MaxCube/Network/UDP/SampleSocket.html +0 -628
  81. data/doc/MaxCube/Runner.html +0 -355
  82. data/doc/_index.html +0 -518
  83. data/doc/class_list.html +0 -51
  84. data/doc/css/common.css +0 -1
  85. data/doc/css/full_list.css +0 -58
  86. data/doc/css/style.css +0 -499
  87. data/doc/file.README.html +0 -140
  88. data/doc/file_list.html +0 -56
  89. data/doc/frames.html +0 -17
  90. data/doc/index.html +0 -140
  91. data/doc/js/app.js +0 -248
  92. data/doc/js/full_list.js +0 -216
  93. data/doc/js/jquery.js +0 -4
  94. data/doc/method_list.html +0 -1699
  95. data/doc/top-level-namespace.html +0 -110
@@ -1,185 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: MaxCube::Messages::TCP::Serializer::MessageL
8
-
9
- &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "MaxCube::Messages::TCP::Serializer::MessageL";
19
- relpath = '../../../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../../../_index.html">Index (M)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></span>
41
- &raquo;
42
- <span class="title">MessageL</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: MaxCube::Messages::TCP::Serializer::MessageL
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/maxcube/messages/tcp/type/l.rb</dd>
82
- </dl>
83
-
84
- </div>
85
-
86
- <h2>Overview</h2><div class="docstring">
87
- <div class="discussion">
88
-
89
- <p>Command to resend device list (L). Does not contain any data.</p>
90
-
91
-
92
- </div>
93
- </div>
94
- <div class="tags">
95
-
96
-
97
- </div>
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
- <h2>
106
- Instance Method Summary
107
- <small><a href="#" class="summary_toggle">collapse</a></small>
108
- </h2>
109
-
110
- <ul class="summary">
111
-
112
- <li class="private ">
113
- <span class="summary_signature">
114
-
115
- <a href="#serialize_tcp_l-instance_method" title="#serialize_tcp_l (instance method)">#<strong>serialize_tcp_l</strong>(_hash) &#x21d2; Object </a>
116
-
117
-
118
-
119
- </span>
120
-
121
-
122
-
123
- <span class="note title private">private</span>
124
-
125
-
126
-
127
-
128
-
129
- <span class="summary_desc"><div class='inline'></div></span>
130
-
131
- </li>
132
-
133
-
134
- </ul>
135
-
136
-
137
-
138
-
139
- <div id="instance_method_details" class="method_details_list">
140
- <h2>Instance Method Details</h2>
141
-
142
-
143
- <div class="method_details first">
144
- <h3 class="signature first" id="serialize_tcp_l-instance_method">
145
-
146
- #<strong>serialize_tcp_l</strong>(_hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
147
-
148
-
149
-
150
-
151
-
152
- </h3><table class="source_code">
153
- <tr>
154
- <td>
155
- <pre class="lines">
156
-
157
-
158
- 125
159
- 126
160
- 127</pre>
161
- </td>
162
- <td>
163
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/l.rb', line 125</span>
164
-
165
- <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_l'>serialize_tcp_l</span><span class='lparen'>(</span><span class='id identifier rubyid__hash'>_hash</span><span class='rparen'>)</span>
166
- <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
167
- <span class='kw'>end</span></pre>
168
- </td>
169
- </tr>
170
- </table>
171
- </div>
172
-
173
- </div>
174
-
175
- </div>
176
-
177
- <div id="footer">
178
- Generated on Fri Feb 16 13:44:01 2018 by
179
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
180
- 0.9.12 (ruby-2.5.0).
181
- </div>
182
-
183
- </div>
184
- </body>
185
- </html>
@@ -1,428 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: MaxCube::Messages::TCP::Serializer::MessageM
8
-
9
- &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "MaxCube::Messages::TCP::Serializer::MessageM";
19
- relpath = '../../../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../../../_index.html">Index (M)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></span>
41
- &raquo;
42
- <span class="title">MessageM</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: MaxCube::Messages::TCP::Serializer::MessageM
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/maxcube/messages/tcp/type/m.rb</dd>
82
- </dl>
83
-
84
- </div>
85
-
86
- <h2>Overview</h2><div class="docstring">
87
- <div class="discussion">
88
-
89
- <p>Serializes metadata for Cube. Message body has the same format as response
90
- (M) -&gt; reverse operations. Cube does not check data format, so things
91
- could break if invalid data is sent.</p>
92
-
93
- <p>! I couldn&#39;t verify the assumption that bodies should be the same.</p>
94
-
95
-
96
- </div>
97
- </div>
98
- <div class="tags">
99
-
100
-
101
- </div>
102
- <h2>Constant Summary</h2>
103
- <dl class="constants">
104
-
105
- <dt id="KEYS-constant" class="">KEYS =
106
- <div class="docstring">
107
- <div class="discussion">
108
-
109
- <p>Mandatory hash keys.</p>
110
-
111
-
112
- </div>
113
- </div>
114
- <div class="tags">
115
-
116
-
117
- </div>
118
- </dt>
119
- <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>rooms_count</span><span class='words_sep'> </span><span class='tstring_content'>rooms</span><span class='words_sep'> </span><span class='tstring_content'>devices_count</span><span class='words_sep'> </span><span class='tstring_content'>devices</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
120
-
121
- <dt id="OPT_KEYS-constant" class="">OPT_KEYS =
122
- <div class="docstring">
123
- <div class="discussion">
124
-
125
- <p>Optional hash keys.</p>
126
-
127
-
128
- </div>
129
- </div>
130
- <div class="tags">
131
-
132
-
133
- </div>
134
- </dt>
135
- <dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>index</span><span class='words_sep'> </span><span class='tstring_content'>unknown1</span><span class='words_sep'> </span><span class='tstring_content'>unknown2</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
136
-
137
- </dl>
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
- <h2>
147
- Instance Method Summary
148
- <small><a href="#" class="summary_toggle">collapse</a></small>
149
- </h2>
150
-
151
- <ul class="summary">
152
-
153
- <li class="private ">
154
- <span class="summary_signature">
155
-
156
- <a href="#serialize_tcp_m-instance_method" title="#serialize_tcp_m (instance method)">#<strong>serialize_tcp_m</strong>(hash) &#x21d2; Object </a>
157
-
158
-
159
-
160
- </span>
161
-
162
-
163
-
164
- <span class="note title private">private</span>
165
-
166
-
167
-
168
-
169
-
170
- <span class="summary_desc"><div class='inline'></div></span>
171
-
172
- </li>
173
-
174
-
175
- <li class="private ">
176
- <span class="summary_signature">
177
-
178
- <a href="#serialize_tcp_m_devices-instance_method" title="#serialize_tcp_m_devices (instance method)">#<strong>serialize_tcp_m_devices</strong>(hash) &#x21d2; Object </a>
179
-
180
-
181
-
182
- </span>
183
-
184
-
185
-
186
- <span class="note title private">private</span>
187
-
188
-
189
-
190
-
191
-
192
- <span class="summary_desc"><div class='inline'></div></span>
193
-
194
- </li>
195
-
196
-
197
- <li class="private ">
198
- <span class="summary_signature">
199
-
200
- <a href="#serialize_tcp_m_rooms-instance_method" title="#serialize_tcp_m_rooms (instance method)">#<strong>serialize_tcp_m_rooms</strong>(hash) &#x21d2; Object </a>
201
-
202
-
203
-
204
- </span>
205
-
206
-
207
-
208
- <span class="note title private">private</span>
209
-
210
-
211
-
212
-
213
-
214
- <span class="summary_desc"><div class='inline'></div></span>
215
-
216
- </li>
217
-
218
-
219
- </ul>
220
-
221
-
222
-
223
-
224
- <div id="instance_method_details" class="method_details_list">
225
- <h2>Instance Method Details</h2>
226
-
227
-
228
- <div class="method_details first">
229
- <h3 class="signature first" id="serialize_tcp_m-instance_method">
230
-
231
- #<strong>serialize_tcp_m</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
232
-
233
-
234
-
235
-
236
-
237
- </h3><table class="source_code">
238
- <tr>
239
- <td>
240
- <pre class="lines">
241
-
242
-
243
- 123
244
- 124
245
- 125
246
- 126
247
- 127
248
- 128
249
- 129
250
- 130
251
- 131
252
- 132
253
- 133
254
- 134
255
- 135</pre>
256
- </td>
257
- <td>
258
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/m.rb', line 123</span>
259
-
260
- <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_m'>serialize_tcp_m</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
261
- <span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:index</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>index</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='int'>0</span>
262
- <span class='id identifier rubyid_head'>head</span> <span class='op'>=</span> <span class='id identifier rubyid_format'>format</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%02x,</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span>
263
-
264
- <span class='ivar'>@io</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>wb</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
265
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:unknown1</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:unknown1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\x00\x00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
266
-
267
- <span class='id identifier rubyid_serialize_tcp_m_rooms'>serialize_tcp_m_rooms</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
268
- <span class='id identifier rubyid_serialize_tcp_m_devices'>serialize_tcp_m_devices</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
269
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:unknown2</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:unknown2</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\x00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
270
-
271
- <span class='id identifier rubyid_head'>head</span><span class='period'>.</span><span class='id identifier rubyid_b'>b</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_encode'>encode</span><span class='lparen'>(</span><span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span>
272
- <span class='kw'>end</span></pre>
273
- </td>
274
- </tr>
275
- </table>
276
- </div>
277
-
278
- <div class="method_details ">
279
- <h3 class="signature " id="serialize_tcp_m_devices-instance_method">
280
-
281
- #<strong>serialize_tcp_m_devices</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
282
-
283
-
284
-
285
-
286
-
287
- </h3><table class="source_code">
288
- <tr>
289
- <td>
290
- <pre class="lines">
291
-
292
-
293
- 161
294
- 162
295
- 163
296
- 164
297
- 165
298
- 166
299
- 167
300
- 168
301
- 169
302
- 170
303
- 171
304
- 172
305
- 173
306
- 174
307
- 175
308
- 176
309
- 177
310
- 178
311
- 179
312
- 180
313
- 181
314
- 182
315
- 183
316
- 184</pre>
317
- </td>
318
- <td>
319
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/m.rb', line 161</span>
320
-
321
- <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_m_devices'>serialize_tcp_m_devices</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
322
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>devices count</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:devices_count</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
323
- <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:devices</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_device'>device</span><span class='op'>|</span>
324
- <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span>
325
- <span class='kw'>if</span> <span class='id identifier rubyid_device'>device</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:name_length</span><span class='rparen'>)</span>
326
- <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>=</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>name length</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:name_length</span><span class='rbracket'>]</span><span class='rparen'>)</span>
327
- <span class='kw'>unless</span> <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>==</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
328
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
329
- <span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>device name length and length of name</span><span class='tstring_end'>&#39;</span></span> \
330
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> mismatch: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name_length'>name_length</span><span class='embexpr_end'>}</span><span class='tstring_content'> != </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
331
- <span class='kw'>end</span>
332
- <span class='kw'>else</span>
333
- <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
334
- <span class='kw'>end</span>
335
-
336
- <span class='id identifier rubyid_rf_address'>rf_address</span><span class='comma'>,</span> <span class='id identifier rubyid_room_id'>room_id</span> <span class='op'>=</span>
337
- <span class='id identifier rubyid_to_ints'>to_ints</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>device RF address, room ID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
338
- <span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:rf_address</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:room_id</span><span class='rbracket'>]</span><span class='rparen'>)</span>
339
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_device_type_id'>device_type_id</span><span class='lparen'>(</span><span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
340
- <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_rf_address'>rf_address</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>3</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
341
- <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_device'>device</span><span class='lbracket'>[</span><span class='symbol'>:serial_number</span><span class='rbracket'>]</span><span class='comma'>,</span>
342
- <span class='id identifier rubyid_name_length'>name_length</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_room_id'>room_id</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
343
- <span class='kw'>end</span>
344
- <span class='kw'>end</span></pre>
345
- </td>
346
- </tr>
347
- </table>
348
- </div>
349
-
350
- <div class="method_details ">
351
- <h3 class="signature " id="serialize_tcp_m_rooms-instance_method">
352
-
353
- #<strong>serialize_tcp_m_rooms</strong>(hash) &#x21d2; <tt>Object</tt> <span class="extras">(private)</span>
354
-
355
-
356
-
357
-
358
-
359
- </h3><table class="source_code">
360
- <tr>
361
- <td>
362
- <pre class="lines">
363
-
364
-
365
- 139
366
- 140
367
- 141
368
- 142
369
- 143
370
- 144
371
- 145
372
- 146
373
- 147
374
- 148
375
- 149
376
- 150
377
- 151
378
- 152
379
- 153
380
- 154
381
- 155
382
- 156
383
- 157
384
- 158
385
- 159</pre>
386
- </td>
387
- <td>
388
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/m.rb', line 139</span>
389
-
390
- <span class='kw'>def</span> <span class='id identifier rubyid_serialize_tcp_m_rooms'>serialize_tcp_m_rooms</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
391
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rooms count</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rooms_count</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span>
392
- <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:rooms</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_room'>room</span><span class='op'>|</span>
393
- <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_room'>room</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span>
394
- <span class='kw'>if</span> <span class='id identifier rubyid_room'>room</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:name_length</span><span class='rparen'>)</span>
395
- <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>=</span> <span class='id identifier rubyid_to_int'>to_int</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>name length</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_room'>room</span><span class='lbracket'>[</span><span class='symbol'>:name_length</span><span class='rbracket'>]</span><span class='rparen'>)</span>
396
- <span class='kw'>unless</span> <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>==</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
397
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
398
- <span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room name length and length of name</span><span class='tstring_end'>&#39;</span></span> \
399
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> mismatch: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name_length'>name_length</span><span class='embexpr_end'>}</span><span class='tstring_content'> != </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
400
- <span class='kw'>end</span>
401
- <span class='kw'>else</span>
402
- <span class='id identifier rubyid_name_length'>name_length</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
403
- <span class='kw'>end</span>
404
-
405
- <span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_rf_address'>rf_address</span> <span class='op'>=</span> <span class='id identifier rubyid_to_ints'>to_ints</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>room id, RF address</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
406
- <span class='id identifier rubyid_room'>room</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_room'>room</span><span class='lbracket'>[</span><span class='symbol'>:rf_address</span><span class='rbracket'>]</span><span class='rparen'>)</span>
407
- <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_name_length'>name_length</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span>
408
- <span class='id identifier rubyid_serialize'>serialize</span><span class='lparen'>(</span><span class='id identifier rubyid_rf_address'>rf_address</span><span class='comma'>,</span> <span class='label'>esize:</span> <span class='int'>3</span><span class='rparen'>)</span><span class='rparen'>)</span>
409
- <span class='kw'>end</span>
410
- <span class='kw'>end</span></pre>
411
- </td>
412
- </tr>
413
- </table>
414
- </div>
415
-
416
- </div>
417
-
418
- </div>
419
-
420
- <div id="footer">
421
- Generated on Fri Feb 16 13:44:01 2018 by
422
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
423
- 0.9.12 (ruby-2.5.0).
424
- </div>
425
-
426
- </div>
427
- </body>
428
- </html>