ionian 0.6.5 → 0.6.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7bf864733d5bbfd958bf4d506a57f2b5823574f4
4
- data.tar.gz: 38dd61bf25fe9ebf638cccbd3b8ec6da92f8812e
3
+ metadata.gz: 1cb36e7af34abe393cc46d7f30ce072f409a5c9b
4
+ data.tar.gz: d65cc6850c15fc177751cd29a9594ae47cdd4d8a
5
5
  SHA512:
6
- metadata.gz: d894ba9d981ed524d43c4397ae1cb420520e1e051684b4f9d425a03f96dc400df9d8cc0fa8a66fb118371276eeee2be5d7afc6970912f453b8353f8711d87502
7
- data.tar.gz: 8f706f1afad7e4e32ae664b00603a9875bb5f369581b8bb550a35aa6503c3c2c4b698d9b387cda7aa12a2af83480faaf4b87268c843fc5bdd69d7d596a99e38e
6
+ metadata.gz: 1dfb53195818fe11aedad450bafdaefe9c72e34ee2394e5aed5fa78db750a2a417bc88151534da055f1395d70eea8e46d0e7dc4fd3020fa7b86ad622a761fa39
7
+ data.tar.gz: 287ba033ae14c028c1c58b9ca7ca838341a61181ef078f4c1914f4908abc17b0b519e030a2cb10ce83c934176b0047fb5e2103485da615eb2f4e38636457f2bf
data/README.md CHANGED
@@ -38,8 +38,7 @@ socket.read_match { |match| p match; puts '' }
38
38
  # A simple IRC client.
39
39
 
40
40
  socket = Ionian::Socket.new \
41
- host: 'chat.freenode.net',
42
- port: 6667,
41
+ host: 'chat.freenode.net:6667',
43
42
  # Break up the matches into named captures so it's easier
44
43
  # to sort through the server's responses.
45
44
  expression: /:(?<server>.*?)\s*:(?<msg>.*?)[\r\n]+/
@@ -61,3 +60,18 @@ loop do
61
60
  end
62
61
  end
63
62
  ```
63
+
64
+ ### Simple Server
65
+
66
+ ``` ruby
67
+ host = 'localhost:5000'
68
+
69
+ server = Ionian::Server.new interface: host do |client|
70
+ # Greet the connected client.
71
+ client.write "Welcome! You are connected to the server.\n"
72
+ end
73
+
74
+ socket = Ionian::Socket.new host: host
75
+ # Retrieve the greeting message.
76
+ puts socket.read_all
77
+ ```
@@ -751,14 +751,14 @@ automatically.</p>
751
751
  <pre class="lines">
752
752
 
753
753
 
754
- 154
755
- 155
756
- 156
757
754
  157
758
- 158</pre>
755
+ 158
756
+ 159
757
+ 160
758
+ 161</pre>
759
759
  </td>
760
760
  <td>
761
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 154</span>
761
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 157</span>
762
762
 
763
763
  <span class='kw'>def</span> <span class='id identifier rubyid_purge'>purge</span>
764
764
  <span class='comment'># Erase IO buffer.
@@ -783,7 +783,7 @@ automatically.</p>
783
783
  <div class="discussion">
784
784
 
785
785
  <p>Read all data in the buffer. An alternative to using #readpartial with a
786
- large length.</p>
786
+ large length. Blocks until data is available.</p>
787
787
 
788
788
 
789
789
  </div>
@@ -797,18 +797,22 @@ large length.</p>
797
797
  <pre class="lines">
798
798
 
799
799
 
800
- 56
801
800
  57
802
801
  58
803
802
  59
804
- 60</pre>
803
+ 60
804
+ 61
805
+ 62
806
+ 63</pre>
805
807
  </td>
806
808
  <td>
807
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 56</span>
809
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 57</span>
808
810
 
809
811
  <span class='kw'>def</span> <span class='id identifier rubyid_read_all'>read_all</span>
810
- <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
811
- <span class='id identifier rubyid_data'>data</span> <span class='op'>+=</span> <span class='id identifier rubyid_readpartial'>readpartial</span> <span class='int'>0xFFFF</span> <span class='kw'>while</span> <span class='id identifier rubyid_has_data?'>has_data?</span>
812
+ <span class='comment'># Block until data has arrived.
813
+ </span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_readpartial'>readpartial</span> <span class='int'>0xFFFF</span>
814
+ <span class='comment'># If there is more data in the buffer, retrieve it nonblocking.
815
+ </span> <span class='id identifier rubyid_data'>data</span> <span class='op'>+=</span> <span class='id identifier rubyid_readpartial'>readpartial</span> <span class='int'>0xFFFF</span> <span class='kw'>while</span> <span class='id identifier rubyid_has_data?'>has_data?</span>
812
816
  <span class='id identifier rubyid_data'>data</span>
813
817
  <span class='kw'>end</span></pre>
814
818
  </td>
@@ -868,9 +872,6 @@ build_methods: Build accessor methods from named capture groups.
868
872
  <pre class="lines">
869
873
 
870
874
 
871
- 88
872
- 89
873
- 90
874
875
  91
875
876
  92
876
877
  93
@@ -912,10 +913,13 @@ build_methods: Build accessor methods from named capture groups.
912
913
  129
913
914
  130
914
915
  131
915
- 132</pre>
916
+ 132
917
+ 133
918
+ 134
919
+ 135</pre>
916
920
  </td>
917
921
  <td>
918
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 88</span>
922
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 91</span>
919
923
 
920
924
  <span class='kw'>def</span> <span class='id identifier rubyid_read_match'>read_match</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span>
921
925
  <span class='id identifier rubyid_timeout'>timeout</span> <span class='op'>=</span> <span class='id identifier rubyid_kwargs'>kwargs</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span> <span class='symbol'>:timeout</span><span class='comma'>,</span> <span class='ivar'>@ionian_timeout</span>
@@ -999,13 +1003,13 @@ reference to the given block. block = ionian_socket.register_observer { … }</p
999
1003
  <pre class="lines">
1000
1004
 
1001
1005
 
1002
- 164
1003
- 165
1004
- 166
1005
- 167</pre>
1006
+ 167
1007
+ 168
1008
+ 169
1009
+ 170</pre>
1006
1010
  </td>
1007
1011
  <td>
1008
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 164</span>
1012
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 167</span>
1009
1013
 
1010
1014
  <span class='kw'>def</span> <span class='id identifier rubyid_register_observer'>register_observer</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span>
1011
1015
  <span class='ivar'>@ionian_listeners</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_block'>block</span> <span class='kw'>unless</span> <span class='ivar'>@ionian_listeners</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_block'>block</span>
@@ -1044,9 +1048,6 @@ socket|). Passes kwargs to #read_match. This method SHOULD NOT be used if
1044
1048
  <pre class="lines">
1045
1049
 
1046
1050
 
1047
- 137
1048
- 138
1049
- 139
1050
1051
  140
1051
1052
  141
1052
1053
  142
@@ -1057,10 +1058,13 @@ socket|). Passes kwargs to #read_match. This method SHOULD NOT be used if
1057
1058
  147
1058
1059
  148
1059
1060
  149
1060
- 150</pre>
1061
+ 150
1062
+ 151
1063
+ 152
1064
+ 153</pre>
1061
1065
  </td>
1062
1066
  <td>
1063
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 137</span>
1067
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 140</span>
1064
1068
 
1065
1069
  <span class='kw'>def</span> <span class='id identifier rubyid_run_match'>run_match</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span>
1066
1070
  <span class='ivar'>@match_listener</span> <span class='op'>||=</span> <span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span>
@@ -1107,13 +1111,13 @@ socket|). Passes kwargs to #read_match. This method SHOULD NOT be used if
1107
1111
  <pre class="lines">
1108
1112
 
1109
1113
 
1110
- 172
1111
- 173
1112
- 174
1113
- 175</pre>
1114
+ 175
1115
+ 176
1116
+ 177
1117
+ 178</pre>
1114
1118
  </td>
1115
1119
  <td>
1116
- <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 172</span>
1120
+ <pre class="code"><span class="info file"># File 'lib/ionian/extension/io.rb', line 175</span>
1117
1121
 
1118
1122
  <span class='kw'>def</span> <span class='id identifier rubyid_unregister_observer'>unregister_observer</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span>
1119
1123
  <span class='ivar'>@ionian_listeners</span><span class='period'>.</span><span class='id identifier rubyid_delete_if'>delete_if</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_o'>o</span><span class='op'>|</span> <span class='id identifier rubyid_o'>o</span> <span class='op'>==</span> <span class='id identifier rubyid_block'>block</span> <span class='rbrace'>}</span>
@@ -1129,7 +1133,7 @@ socket|). Passes kwargs to #read_match. This method SHOULD NOT be used if
1129
1133
  </div>
1130
1134
 
1131
1135
  <div id="footer">
1132
- Generated on Fri Apr 11 21:18:17 2014 by
1136
+ Generated on Sat Apr 12 13:24:31 2014 by
1133
1137
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1134
1138
  0.8.7.4 (ruby-2.1.1).
1135
1139
  </div>
@@ -2519,7 +2519,7 @@ true. ( SO_LINGER )</p>
2519
2519
  </div>
2520
2520
 
2521
2521
  <div id="footer">
2522
- Generated on Fri Apr 11 21:18:17 2014 by
2522
+ Generated on Sat Apr 12 13:24:31 2014 by
2523
2523
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2524
2524
  0.8.7.4 (ruby-2.1.1).
2525
2525
  </div>
@@ -119,7 +119,7 @@
119
119
  </div>
120
120
 
121
121
  <div id="footer">
122
- Generated on Fri Apr 11 21:18:17 2014 by
122
+ Generated on Sat Apr 12 13:24:31 2014 by
123
123
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
124
124
  0.8.7.4 (ruby-2.1.1).
125
125
  </div>