ionian 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
data/doc/_index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
6
  <title>
7
- Documentation by YARD 0.8.7.3
7
+ Documentation by YARD 0.8.7.4
8
8
 
9
9
  </title>
10
10
 
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript" charset="utf-8">
16
16
  hasFrames = window.top.frames.main ? true : false;
17
17
  relpath = '';
18
- framesUrl = "frames.html#!" + escape(window.location.href);
18
+ framesUrl = "frames.html#!_index.html";
19
19
  </script>
20
20
 
21
21
 
@@ -56,7 +56,7 @@
56
56
 
57
57
  <iframe id="search_frame"></iframe>
58
58
 
59
- <div id="content"><h1 class="noborder title">Documentation by YARD 0.8.7.3</h1>
59
+ <div id="content"><h1 class="noborder title">Documentation by YARD 0.8.7.4</h1>
60
60
  <div id="listing">
61
61
  <h1 class="alphaindex">Alphabetic Index</h1>
62
62
 
@@ -155,9 +155,9 @@
155
155
  </div>
156
156
 
157
157
  <div id="footer">
158
- Generated on Sat Mar 15 21:04:53 2014 by
158
+ Generated on Fri Apr 11 21:18:17 2014 by
159
159
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
160
- 0.8.7.3 (ruby-2.1.1).
160
+ 0.8.7.4 (ruby-2.1.1).
161
161
  </div>
162
162
 
163
163
  </body>
data/doc/css/style.css CHANGED
@@ -291,6 +291,7 @@ li.r2 { background: #fafafa; }
291
291
  -moz-box-shadow: -2px 2px 6px #bbb;
292
292
  z-index: 5000;
293
293
  position: relative;
294
+ overflow-x: auto;
294
295
  }
295
296
  #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
296
297
  #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
data/doc/file.README.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.4
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
20
+ framesUrl = "frames.html#!file.README.html";
21
21
  </script>
22
22
 
23
23
 
@@ -124,9 +124,9 @@
124
124
  </div></div>
125
125
 
126
126
  <div id="footer">
127
- Generated on Sat Mar 15 21:04:53 2014 by
127
+ Generated on Fri Apr 11 21:18:17 2014 by
128
128
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
129
- 0.8.7.3 (ruby-2.1.1).
129
+ 0.8.7.4 (ruby-2.1.1).
130
130
  </div>
131
131
 
132
132
  </body>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: license
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.4
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
20
+ framesUrl = "frames.html#!file.license.html";
21
21
  </script>
22
22
 
23
23
 
@@ -64,9 +64,9 @@
64
64
  <div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2013 Alex McLain<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the &quot;Software&quot;), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in<br/>all copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br/>THE SOFTWARE.
65
65
 
66
66
  <div id="footer">
67
- Generated on Sat Mar 15 21:04:53 2014 by
67
+ Generated on Fri Apr 11 21:18:17 2014 by
68
68
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
69
- 0.8.7.3 (ruby-2.1.1).
69
+ 0.8.7.4 (ruby-2.1.1).
70
70
  </div>
71
71
 
72
72
  </body>
data/doc/frames.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <title>Documentation by YARD 0.8.7.3</title>
7
+ <title>Documentation by YARD 0.8.7.4</title>
8
8
  </head>
9
9
  <script type="text/javascript" charset="utf-8">
10
10
  window.onload = function() {
data/doc/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.4
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
20
+ framesUrl = "frames.html#!file.README.html";
21
21
  </script>
22
22
 
23
23
 
@@ -124,9 +124,9 @@
124
124
  </div></div>
125
125
 
126
126
  <div id="footer">
127
- Generated on Sat Mar 15 21:04:53 2014 by
127
+ Generated on Fri Apr 11 21:18:17 2014 by
128
128
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
129
- 0.8.7.3 (ruby-2.1.1).
129
+ 0.8.7.4 (ruby-2.1.1).
130
130
  </div>
131
131
 
132
132
  </body>
data/doc/method_list.html CHANGED
@@ -48,13 +48,25 @@
48
48
 
49
49
 
50
50
  <li class="r1 ">
51
- <span class='object_link'><a href="Ionian/Server.html#close-instance_method" title="Ionian::Server#close (method)">#close</a></span>
52
- <small>Ionian::Server</small>
51
+ <span class='object_link'><a href="Ionian/Socket.html#bind_port-instance_method" title="Ionian::Socket#bind_port (method)">#bind_port</a></span>
52
+ <small>Ionian::Socket</small>
53
53
  </li>
54
54
 
55
55
 
56
56
  <li class="r2 ">
57
- <span class='object_link'><a href="Ionian/Server.html#closed%3F-instance_method" title="Ionian::Server#closed? (method)">#closed?</a></span>
57
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#broadcast-instance_method" title="Ionian::Extension::Socket#broadcast (method)">#broadcast</a></span>
58
+ <small>Ionian::Extension::Socket</small>
59
+ </li>
60
+
61
+
62
+ <li class="r1 ">
63
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#broadcast%3D-instance_method" title="Ionian::Extension::Socket#broadcast= (method)">#broadcast=</a></span>
64
+ <small>Ionian::Extension::Socket</small>
65
+ </li>
66
+
67
+
68
+ <li class="r2 ">
69
+ <span class='object_link'><a href="Ionian/Server.html#close-instance_method" title="Ionian::Server#close (method)">#close</a></span>
58
70
  <small>Ionian::Server</small>
59
71
  </li>
60
72
 
@@ -66,65 +78,77 @@
66
78
 
67
79
 
68
80
  <li class="r2 ">
81
+ <span class='object_link'><a href="Ionian/Server.html#closed%3F-instance_method" title="Ionian::Server#closed? (method)">#closed?</a></span>
82
+ <small>Ionian::Server</small>
83
+ </li>
84
+
85
+
86
+ <li class="r1 ">
69
87
  <span class='object_link'><a href="Ionian/Socket.html#cmd-instance_method" title="Ionian::Socket#cmd (method)">#cmd</a></span>
70
88
  <small>Ionian::Socket</small>
71
89
  </li>
72
90
 
73
91
 
74
- <li class="r1 ">
92
+ <li class="r2 ">
75
93
  <span class='object_link'><a href="Ionian/Extension/Socket.html#cork-instance_method" title="Ionian::Extension::Socket#cork (method)">#cork</a></span>
76
94
  <small>Ionian::Extension::Socket</small>
77
95
  </li>
78
96
 
79
97
 
80
- <li class="r2 ">
98
+ <li class="r1 ">
81
99
  <span class='object_link'><a href="Ionian/Extension/Socket.html#cork%3D-instance_method" title="Ionian::Extension::Socket#cork= (method)">#cork=</a></span>
82
100
  <small>Ionian::Extension::Socket</small>
83
101
  </li>
84
102
 
85
103
 
86
- <li class="r1 ">
104
+ <li class="r2 ">
87
105
  <span class='object_link'><a href="Ionian/Socket.html#expression-instance_method" title="Ionian::Socket#expression (method)">#expression</a></span>
88
106
  <small>Ionian::Socket</small>
89
107
  </li>
90
108
 
91
109
 
92
- <li class="r2 ">
110
+ <li class="r1 ">
93
111
  <span class='object_link'><a href="Ionian/Extension/IO.html#expression-instance_method" title="Ionian::Extension::IO#expression (method)">#expression</a></span>
94
112
  <small>Ionian::Extension::IO</small>
95
113
  </li>
96
114
 
97
115
 
98
- <li class="r1 ">
116
+ <li class="r2 ">
99
117
  <span class='object_link'><a href="Ionian/Extension/IO.html#expression%3D-instance_method" title="Ionian::Extension::IO#expression= (method)">#expression=</a></span>
100
118
  <small>Ionian::Extension::IO</small>
101
119
  </li>
102
120
 
103
121
 
104
- <li class="r2 ">
122
+ <li class="r1 ">
105
123
  <span class='object_link'><a href="Ionian/Socket.html#expression%3D-instance_method" title="Ionian::Socket#expression= (method)">#expression=</a></span>
106
124
  <small>Ionian::Socket</small>
107
125
  </li>
108
126
 
109
127
 
110
- <li class="r1 ">
128
+ <li class="r2 ">
111
129
  <span class='object_link'><a href="Ionian/Extension/IO.html#extended-class_method" title="Ionian::Extension::IO.extended (method)">extended</a></span>
112
130
  <small>Ionian::Extension::IO</small>
113
131
  </li>
114
132
 
115
133
 
116
- <li class="r2 ">
134
+ <li class="r1 ">
117
135
  <span class='object_link'><a href="Ionian/Extension/Socket.html#extended-class_method" title="Ionian::Extension::Socket.extended (method)">extended</a></span>
118
136
  <small>Ionian::Extension::Socket</small>
119
137
  </li>
120
138
 
121
139
 
122
- <li class="r1 ">
140
+ <li class="r2 ">
123
141
  <span class='object_link'><a href="Ionian/Socket.html#flush-instance_method" title="Ionian::Socket#flush (method)">#flush</a></span>
124
142
  <small>Ionian::Socket</small>
125
143
  </li>
126
144
 
127
145
 
146
+ <li class="r1 ">
147
+ <span class='object_link'><a href="Ionian/Extension/IO.html#has_data%3F-instance_method" title="Ionian::Extension::IO#has_data? (method)">#has_data?</a></span>
148
+ <small>Ionian::Extension::IO</small>
149
+ </li>
150
+
151
+
128
152
  <li class="r2 ">
129
153
  <span class='object_link'><a href="Ionian/Socket.html#has_data%3F-instance_method" title="Ionian::Socket#has_data? (method)">#has_data?</a></span>
130
154
  <small>Ionian::Socket</small>
@@ -132,8 +156,8 @@
132
156
 
133
157
 
134
158
  <li class="r1 ">
135
- <span class='object_link'><a href="Ionian/Extension/IO.html#has_data%3F-instance_method" title="Ionian::Extension::IO#has_data? (method)">#has_data?</a></span>
136
- <small>Ionian::Extension::IO</small>
159
+ <span class='object_link'><a href="Ionian/Socket.html#host-instance_method" title="Ionian::Socket#host (method)">#host</a></span>
160
+ <small>Ionian::Socket</small>
137
161
  </li>
138
162
 
139
163
 
@@ -263,6 +287,18 @@
263
287
  </li>
264
288
 
265
289
 
290
+ <li class="r1 ">
291
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#linger-instance_method" title="Ionian::Extension::Socket#linger (method)">#linger</a></span>
292
+ <small>Ionian::Extension::Socket</small>
293
+ </li>
294
+
295
+
296
+ <li class="r2 ">
297
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#linger%3D-instance_method" title="Ionian::Extension::Socket#linger= (method)">#linger=</a></span>
298
+ <small>Ionian::Extension::Socket</small>
299
+ </li>
300
+
301
+
266
302
  <li class="r1 ">
267
303
  <span class='object_link'><a href="Ionian/Server.html#listen-instance_method" title="Ionian::Server#listen (method)">#listen</a></span>
268
304
  <small>Ionian::Server</small>
@@ -270,13 +306,13 @@
270
306
 
271
307
 
272
308
  <li class="r2 ">
273
- <span class='object_link'><a href="Ionian/Extension/Socket.html#multicast-instance_method" title="Ionian::Extension::Socket#multicast (method)">#multicast</a></span>
309
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#multicast-class_method" title="Ionian::Extension::Socket.multicast (method)">multicast</a></span>
274
310
  <small>Ionian::Extension::Socket</small>
275
311
  </li>
276
312
 
277
313
 
278
314
  <li class="r1 ">
279
- <span class='object_link'><a href="Ionian/Extension/Socket.html#multicast-class_method" title="Ionian::Extension::Socket.multicast (method)">multicast</a></span>
315
+ <span class='object_link'><a href="Ionian/Extension/Socket.html#multicast-instance_method" title="Ionian::Extension::Socket#multicast (method)">#multicast</a></span>
280
316
  <small>Ionian::Extension::Socket</small>
281
317
  </li>
282
318
 
@@ -306,53 +342,53 @@
306
342
 
307
343
 
308
344
  <li class="r2 ">
309
- <span class='object_link'><a href="Ionian/Socket.html#protocol-instance_method" title="Ionian::Socket#protocol (method)">#protocol</a></span>
345
+ <span class='object_link'><a href="Ionian/Socket.html#port-instance_method" title="Ionian::Socket#port (method)">#port</a></span>
310
346
  <small>Ionian::Socket</small>
311
347
  </li>
312
348
 
313
349
 
314
350
  <li class="r1 ">
351
+ <span class='object_link'><a href="Ionian/Socket.html#protocol-instance_method" title="Ionian::Socket#protocol (method)">#protocol</a></span>
352
+ <small>Ionian::Socket</small>
353
+ </li>
354
+
355
+
356
+ <li class="r2 ">
315
357
  <span class='object_link'><a href="Ionian/Extension/IO.html#purge-instance_method" title="Ionian::Extension::IO#purge (method)">#purge</a></span>
316
358
  <small>Ionian::Extension::IO</small>
317
359
  </li>
318
360
 
319
361
 
320
- <li class="r2 ">
362
+ <li class="r1 ">
321
363
  <span class='object_link'><a href="Ionian/Socket.html#puts-instance_method" title="Ionian::Socket#puts (method)">#puts</a></span>
322
364
  <small>Ionian::Socket</small>
323
365
  </li>
324
366
 
325
367
 
326
- <li class="r1 ">
368
+ <li class="r2 ">
327
369
  <span class='object_link'><a href="Ionian/Extension/IO.html#read_all-instance_method" title="Ionian::Extension::IO#read_all (method)">#read_all</a></span>
328
370
  <small>Ionian::Extension::IO</small>
329
371
  </li>
330
372
 
331
373
 
332
- <li class="r2 ">
374
+ <li class="r1 ">
333
375
  <span class='object_link'><a href="Ionian/Extension/IO.html#read_match-instance_method" title="Ionian::Extension::IO#read_match (method)">#read_match</a></span>
334
376
  <small>Ionian::Extension::IO</small>
335
377
  </li>
336
378
 
337
379
 
338
- <li class="r1 ">
380
+ <li class="r2 ">
339
381
  <span class='object_link'><a href="Ionian/Extension/Socket.html#recork-instance_method" title="Ionian::Extension::Socket#recork (method)">#recork</a></span>
340
382
  <small>Ionian::Extension::Socket</small>
341
383
  </li>
342
384
 
343
385
 
344
- <li class="r2 ">
386
+ <li class="r1 ">
345
387
  <span class='object_link'><a href="Ionian/Server.html#register_accept_listener-instance_method" title="Ionian::Server#register_accept_listener (method)">#register_accept_listener</a></span>
346
388
  <small>Ionian::Server</small>
347
389
  </li>
348
390
 
349
391
 
350
- <li class="r1 ">
351
- <span class='object_link'><a href="Ionian/Socket.html#register_observer-instance_method" title="Ionian::Socket#register_observer (method)">#register_observer</a></span>
352
- <small>Ionian::Socket</small>
353
- </li>
354
-
355
-
356
392
  <li class="r2 ">
357
393
  <span class='object_link'><a href="Ionian/Extension/IO.html#register_observer-instance_method" title="Ionian::Extension::IO#register_observer (method)">#register_observer</a></span>
358
394
  <small>Ionian::Extension::IO</small>
@@ -360,47 +396,47 @@
360
396
 
361
397
 
362
398
  <li class="r1 ">
399
+ <span class='object_link'><a href="Ionian/Socket.html#register_observer-instance_method" title="Ionian::Socket#register_observer (method)">#register_observer</a></span>
400
+ <small>Ionian::Socket</small>
401
+ </li>
402
+
403
+
404
+ <li class="r2 ">
363
405
  <span class='object_link'><a href="Ionian/Extension/Socket.html#reuse_addr-instance_method" title="Ionian::Extension::Socket#reuse_addr (method)">#reuse_addr</a></span>
364
406
  <small>Ionian::Extension::Socket</small>
365
407
  </li>
366
408
 
367
409
 
368
- <li class="r2 ">
410
+ <li class="r1 ">
369
411
  <span class='object_link'><a href="Ionian/Extension/Socket.html#reuse_addr%3D-instance_method" title="Ionian::Extension::Socket#reuse_addr= (method)">#reuse_addr=</a></span>
370
412
  <small>Ionian::Extension::Socket</small>
371
413
  </li>
372
414
 
373
415
 
374
- <li class="r1 ">
416
+ <li class="r2 ">
375
417
  <span class='object_link'><a href="Ionian/Extension/IO.html#run_match-instance_method" title="Ionian::Extension::IO#run_match (method)">#run_match</a></span>
376
418
  <small>Ionian::Extension::IO</small>
377
419
  </li>
378
420
 
379
421
 
380
- <li class="r2 ">
422
+ <li class="r1 ">
381
423
  <span class='object_link'><a href="Ionian/Extension/Socket.html#ttl-instance_method" title="Ionian::Extension::Socket#ttl (method)">#ttl</a></span>
382
424
  <small>Ionian::Extension::Socket</small>
383
425
  </li>
384
426
 
385
427
 
386
- <li class="r1 ">
428
+ <li class="r2 ">
387
429
  <span class='object_link'><a href="Ionian/Extension/Socket.html#ttl%3D-instance_method" title="Ionian::Extension::Socket#ttl= (method)">#ttl=</a></span>
388
430
  <small>Ionian::Extension::Socket</small>
389
431
  </li>
390
432
 
391
433
 
392
- <li class="r2 ">
434
+ <li class="r1 ">
393
435
  <span class='object_link'><a href="Ionian/Server.html#unregister_accept_listener-instance_method" title="Ionian::Server#unregister_accept_listener (method)">#unregister_accept_listener</a></span>
394
436
  <small>Ionian::Server</small>
395
437
  </li>
396
438
 
397
439
 
398
- <li class="r1 ">
399
- <span class='object_link'><a href="Ionian/Extension/IO.html#unregister_observer-instance_method" title="Ionian::Extension::IO#unregister_observer (method)">#unregister_observer</a></span>
400
- <small>Ionian::Extension::IO</small>
401
- </li>
402
-
403
-
404
440
  <li class="r2 ">
405
441
  <span class='object_link'><a href="Ionian/Socket.html#unregister_observer-instance_method" title="Ionian::Socket#unregister_observer (method)">#unregister_observer</a></span>
406
442
  <small>Ionian::Socket</small>
@@ -408,6 +444,12 @@
408
444
 
409
445
 
410
446
  <li class="r1 ">
447
+ <span class='object_link'><a href="Ionian/Extension/IO.html#unregister_observer-instance_method" title="Ionian::Extension::IO#unregister_observer (method)">#unregister_observer</a></span>
448
+ <small>Ionian::Extension::IO</small>
449
+ </li>
450
+
451
+
452
+ <li class="r2 ">
411
453
  <span class='object_link'><a href="Ionian/Socket.html#write-instance_method" title="Ionian::Socket#write (method)">#write</a></span>
412
454
  <small>Ionian::Socket</small>
413
455
  </li>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Top Level Namespace
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.4
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
20
+ framesUrl = "frames.html#!top-level-namespace.html";
21
21
  </script>
22
22
 
23
23
 
@@ -103,9 +103,9 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sat Mar 15 21:04:53 2014 by
106
+ Generated on Fri Apr 11 21:18:17 2014 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
- 0.8.7.3 (ruby-2.1.1).
108
+ 0.8.7.4 (ruby-2.1.1).
109
109
  </div>
110
110
 
111
111
  </body>
@@ -12,7 +12,7 @@ module Ionian
12
12
  attr_accessor :ionian_timeout
13
13
 
14
14
  # Called automaticallly when the object is extended with #extend.
15
- def self.extended(obj)
15
+ def self.extended obj
16
16
  obj.initialize_ionian
17
17
  end
18
18
 
@@ -46,7 +46,7 @@ module Ionian
46
46
  # sequence. It is possible to use named captures in a
47
47
  # regex, which allows for convienient accessors like
48
48
  # match[:parameter].
49
- def expression=(exp)
49
+ def expression= exp
50
50
  @ionian_expression = exp
51
51
  @ionian_expression = Regexp.new "(.*?)#{expression}" if exp.is_a? String
52
52
  end
@@ -54,7 +54,9 @@ module Ionian
54
54
  # Read all data in the buffer.
55
55
  # An alternative to using #readpartial with a large length.
56
56
  def read_all
57
- readpartial 0xFFFF
57
+ data = ''
58
+ data += readpartial 0xFFFF while has_data?
59
+ data
58
60
  end
59
61
 
60
62
  # Read matched data from the buffer.
@@ -83,7 +85,7 @@ module Ionian
83
85
  # are calling IO::select ahead of this method.
84
86
  # build_methods: Build accessor methods from named capture groups.
85
87
  # Enabled by default.
86
- def read_match(**kwargs, &block)
88
+ def read_match **kwargs, &block
87
89
  timeout = kwargs.fetch :timeout, @ionian_timeout
88
90
  notify = kwargs.fetch :notify, true
89
91
  skip_select = kwargs.fetch :skip_select, @ionian_skip_select
@@ -97,10 +99,7 @@ module Ionian
97
99
  end
98
100
 
99
101
  # Read data from the IO buffer until it's empty.
100
- loop do
101
- @ionian_buf << readpartial(0xFFFF)
102
- break unless ::IO.select [self], nil, nil, 0
103
- end
102
+ @ionian_buf << read_all
104
103
 
105
104
  @matches = []
106
105
 
@@ -113,19 +112,21 @@ module Ionian
113
112
  if build_methods
114
113
  @matches.each do |match|
115
114
  match.names
116
- .map {|name| name.to_sym}
117
- .each {|symbol| match.singleton_class
118
- .send(:define_method, symbol) { match[symbol] } \
119
- unless match.respond_to? symbol
115
+ .map { |name| name.to_sym }
116
+ .each { |symbol|
117
+ match.singleton_class
118
+ .send(:define_method, symbol) { match[symbol] } \
119
+ unless match.respond_to? symbol
120
120
  }
121
121
  end
122
122
  end
123
123
 
124
124
  # Pass each match to block.
125
- @matches.each {|match| yield match} if block_given?
125
+ @matches.each { |match| yield match } if block_given?
126
126
 
127
127
  # Notify on_match listeners unless the #run_match thread is active.
128
- @matches.each {|match| notify_listeners match} if notify and not @match_listener
128
+ @matches.each { |match| notify_listeners match } \
129
+ if notify and not @match_listener
129
130
 
130
131
  @matches
131
132
  end
@@ -133,12 +134,12 @@ module Ionian
133
134
  # Start a thread that checks for data and notifies listeners (do |match, socket|).
134
135
  # Passes kwargs to #read_match.
135
136
  # This method SHOULD NOT be used if #read_match is used.
136
- def run_match(**kwargs)
137
+ def run_match **kwargs
137
138
  @match_listener ||= Thread.new do
138
139
  begin
139
140
  while not closed? do
140
141
  matches = read_match **kwargs
141
- matches.each {|match| notify_listeners match } if matches
142
+ matches.each { |match| notify_listeners match } if matches
142
143
  end
143
144
  rescue EOFError
144
145
  rescue IOError
@@ -152,10 +153,7 @@ module Ionian
152
153
  # This is typically handled automatically.
153
154
  def purge
154
155
  # Erase IO buffer.
155
- while ::IO.select [self], nil, nil, 0
156
- readpartial(0xFFFF)
157
- end
158
-
156
+ read_all
159
157
  @ionian_buf = ''
160
158
  end
161
159
 
@@ -163,7 +161,7 @@ module Ionian
163
161
  # Method callbacks can be registered with &object.method(:method).
164
162
  # Returns a reference to the given block.
165
163
  # block = ionian_socket.register_observer { ... }
166
- def register_observer(&block)
164
+ def register_observer &block
167
165
  @ionian_listeners << block unless @ionian_listeners.include? block
168
166
  block
169
167
  end
@@ -171,8 +169,8 @@ module Ionian
171
169
  alias_method :on_match, :register_observer
172
170
 
173
171
  # Unregister a block from being called when matched data is received.
174
- def unregister_observer(&block)
175
- @ionian_listeners.delete_if {|o| o == block}
172
+ def unregister_observer &block
173
+ @ionian_listeners.delete_if { |o| o == block }
176
174
  block
177
175
  end
178
176
 
@@ -182,7 +180,7 @@ module Ionian
182
180
  # Send match to each of the registered observers. Includes self
183
181
  # as the second block parameter.
184
182
  def notify_listeners match
185
- @ionian_listeners.each {|listener| listener.call match, self}
183
+ @ionian_listeners.each { |listener| listener.call match, self }
186
184
  end
187
185
 
188
186
  end