shingara-blather 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/LICENSE +22 -0
  2. data/README.md +162 -0
  3. data/examples/echo.rb +18 -0
  4. data/examples/execute.rb +16 -0
  5. data/examples/ping_pong.rb +37 -0
  6. data/examples/print_hierarchy.rb +76 -0
  7. data/examples/rosterprint.rb +14 -0
  8. data/examples/stream_only.rb +27 -0
  9. data/examples/xmpp4r/echo.rb +35 -0
  10. data/lib/blather/client/client.rb +310 -0
  11. data/lib/blather/client/dsl/pubsub.rb +170 -0
  12. data/lib/blather/client/dsl.rb +264 -0
  13. data/lib/blather/client.rb +87 -0
  14. data/lib/blather/core_ext/nokogiri.rb +40 -0
  15. data/lib/blather/errors/sasl_error.rb +43 -0
  16. data/lib/blather/errors/stanza_error.rb +107 -0
  17. data/lib/blather/errors/stream_error.rb +82 -0
  18. data/lib/blather/errors.rb +69 -0
  19. data/lib/blather/jid.rb +142 -0
  20. data/lib/blather/roster.rb +111 -0
  21. data/lib/blather/roster_item.rb +122 -0
  22. data/lib/blather/stanza/disco/disco_info.rb +176 -0
  23. data/lib/blather/stanza/disco/disco_items.rb +132 -0
  24. data/lib/blather/stanza/disco.rb +25 -0
  25. data/lib/blather/stanza/iq/query.rb +53 -0
  26. data/lib/blather/stanza/iq/roster.rb +179 -0
  27. data/lib/blather/stanza/iq.rb +138 -0
  28. data/lib/blather/stanza/message.rb +332 -0
  29. data/lib/blather/stanza/presence/status.rb +212 -0
  30. data/lib/blather/stanza/presence/subscription.rb +101 -0
  31. data/lib/blather/stanza/presence.rb +163 -0
  32. data/lib/blather/stanza/pubsub/affiliations.rb +79 -0
  33. data/lib/blather/stanza/pubsub/create.rb +65 -0
  34. data/lib/blather/stanza/pubsub/errors.rb +18 -0
  35. data/lib/blather/stanza/pubsub/event.rb +123 -0
  36. data/lib/blather/stanza/pubsub/items.rb +103 -0
  37. data/lib/blather/stanza/pubsub/publish.rb +103 -0
  38. data/lib/blather/stanza/pubsub/retract.rb +92 -0
  39. data/lib/blather/stanza/pubsub/subscribe.rb +68 -0
  40. data/lib/blather/stanza/pubsub/subscription.rb +134 -0
  41. data/lib/blather/stanza/pubsub/subscriptions.rb +81 -0
  42. data/lib/blather/stanza/pubsub/unsubscribe.rb +68 -0
  43. data/lib/blather/stanza/pubsub.rb +129 -0
  44. data/lib/blather/stanza/pubsub_owner/delete.rb +52 -0
  45. data/lib/blather/stanza/pubsub_owner/purge.rb +52 -0
  46. data/lib/blather/stanza/pubsub_owner.rb +51 -0
  47. data/lib/blather/stanza.rb +149 -0
  48. data/lib/blather/stream/client.rb +31 -0
  49. data/lib/blather/stream/component.rb +38 -0
  50. data/lib/blather/stream/features/resource.rb +63 -0
  51. data/lib/blather/stream/features/sasl.rb +187 -0
  52. data/lib/blather/stream/features/session.rb +44 -0
  53. data/lib/blather/stream/features/tls.rb +28 -0
  54. data/lib/blather/stream/features.rb +53 -0
  55. data/lib/blather/stream/parser.rb +102 -0
  56. data/lib/blather/stream.rb +231 -0
  57. data/lib/blather/xmpp_node.rb +218 -0
  58. data/lib/blather.rb +78 -0
  59. data/spec/blather/client/client_spec.rb +559 -0
  60. data/spec/blather/client/dsl/pubsub_spec.rb +462 -0
  61. data/spec/blather/client/dsl_spec.rb +143 -0
  62. data/spec/blather/core_ext/nokogiri_spec.rb +83 -0
  63. data/spec/blather/errors/sasl_error_spec.rb +33 -0
  64. data/spec/blather/errors/stanza_error_spec.rb +129 -0
  65. data/spec/blather/errors/stream_error_spec.rb +108 -0
  66. data/spec/blather/errors_spec.rb +33 -0
  67. data/spec/blather/jid_spec.rb +87 -0
  68. data/spec/blather/roster_item_spec.rb +96 -0
  69. data/spec/blather/roster_spec.rb +103 -0
  70. data/spec/blather/stanza/discos/disco_info_spec.rb +226 -0
  71. data/spec/blather/stanza/discos/disco_items_spec.rb +148 -0
  72. data/spec/blather/stanza/iq/query_spec.rb +64 -0
  73. data/spec/blather/stanza/iq/roster_spec.rb +140 -0
  74. data/spec/blather/stanza/iq_spec.rb +45 -0
  75. data/spec/blather/stanza/message_spec.rb +132 -0
  76. data/spec/blather/stanza/presence/status_spec.rb +132 -0
  77. data/spec/blather/stanza/presence/subscription_spec.rb +105 -0
  78. data/spec/blather/stanza/presence_spec.rb +66 -0
  79. data/spec/blather/stanza/pubsub/affiliations_spec.rb +57 -0
  80. data/spec/blather/stanza/pubsub/create_spec.rb +56 -0
  81. data/spec/blather/stanza/pubsub/event_spec.rb +84 -0
  82. data/spec/blather/stanza/pubsub/items_spec.rb +79 -0
  83. data/spec/blather/stanza/pubsub/publish_spec.rb +83 -0
  84. data/spec/blather/stanza/pubsub/retract_spec.rb +75 -0
  85. data/spec/blather/stanza/pubsub/subscribe_spec.rb +61 -0
  86. data/spec/blather/stanza/pubsub/subscription_spec.rb +97 -0
  87. data/spec/blather/stanza/pubsub/subscriptions_spec.rb +59 -0
  88. data/spec/blather/stanza/pubsub/unsubscribe_spec.rb +61 -0
  89. data/spec/blather/stanza/pubsub_owner/delete_spec.rb +50 -0
  90. data/spec/blather/stanza/pubsub_owner/purge_spec.rb +50 -0
  91. data/spec/blather/stanza/pubsub_owner_spec.rb +27 -0
  92. data/spec/blather/stanza/pubsub_spec.rb +67 -0
  93. data/spec/blather/stanza_spec.rb +116 -0
  94. data/spec/blather/stream/client_spec.rb +1011 -0
  95. data/spec/blather/stream/component_spec.rb +95 -0
  96. data/spec/blather/stream/parser_spec.rb +145 -0
  97. data/spec/blather/xmpp_node_spec.rb +231 -0
  98. data/spec/fixtures/pubsub.rb +311 -0
  99. data/spec/spec_helper.rb +43 -0
  100. metadata +249 -0
@@ -0,0 +1,311 @@
1
+ def items_all_nodes_xml
2
+ <<-ITEMS
3
+ <iq type='result'
4
+ from='pubsub.shakespeare.lit'
5
+ to='francisco@denmark.lit/barracks'
6
+ id='items1'>
7
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
8
+ <items node='princely_musings'>
9
+ <item id='368866411b877c30064a5f62b917cffe'>
10
+ <entry xmlns='http://www.w3.org/2005/Atom'>
11
+ <title>The Uses of This World</title>
12
+ <summary>
13
+ O, that this too too solid flesh would melt
14
+ Thaw and resolve itself into a dew!
15
+ </summary>
16
+ <link rel='alternate' type='text/html'
17
+ href='http://denmark.lit/2003/12/13/atom03'/>
18
+ <id>tag:denmark.lit,2003:entry-32396</id>
19
+ <published>2003-12-12T17:47:23Z</published>
20
+ <updated>2003-12-12T17:47:23Z</updated>
21
+ </entry>
22
+ </item>
23
+ <item id='3300659945416e274474e469a1f0154c'>
24
+ <entry xmlns='http://www.w3.org/2005/Atom'>
25
+ <title>Ghostly Encounters</title>
26
+ <summary>
27
+ O all you host of heaven! O earth! what else?
28
+ And shall I couple hell? O, fie! Hold, hold, my heart;
29
+ And you, my sinews, grow not instant old,
30
+ But bear me stiffly up. Remember thee!
31
+ </summary>
32
+ <link rel='alternate' type='text/html'
33
+ href='http://denmark.lit/2003/12/13/atom03'/>
34
+ <id>tag:denmark.lit,2003:entry-32396</id>
35
+ <published>2003-12-12T23:21:34Z</published>
36
+ <updated>2003-12-12T23:21:34Z</updated>
37
+ </entry>
38
+ </item>
39
+ <item id='4e30f35051b7b8b42abe083742187228'>
40
+ <entry xmlns='http://www.w3.org/2005/Atom'>
41
+ <title>Alone</title>
42
+ <summary>
43
+ Now I am alone.
44
+ O, what a rogue and peasant slave am I!
45
+ </summary>
46
+ <link rel='alternate' type='text/html'
47
+ href='http://denmark.lit/2003/12/13/atom03'/>
48
+ <id>tag:denmark.lit,2003:entry-32396</id>
49
+ <published>2003-12-13T11:09:53Z</published>
50
+ <updated>2003-12-13T11:09:53Z</updated>
51
+ </entry>
52
+ </item>
53
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'>
54
+ <entry xmlns='http://www.w3.org/2005/Atom'>
55
+ <title>Soliloquy</title>
56
+ <summary>
57
+ To be, or not to be: that is the question:
58
+ Whether 'tis nobler in the mind to suffer
59
+ The slings and arrows of outrageous fortune,
60
+ Or to take arms against a sea of troubles,
61
+ And by opposing end them?
62
+ </summary>
63
+ <link rel='alternate' type='text/html'
64
+ href='http://denmark.lit/2003/12/13/atom03'/>
65
+ <id>tag:denmark.lit,2003:entry-32397</id>
66
+ <published>2003-12-13T18:30:02Z</published>
67
+ <updated>2003-12-13T18:30:02Z</updated>
68
+ </entry>
69
+ </item>
70
+ </items>
71
+ </pubsub>
72
+ </iq>
73
+ ITEMS
74
+ end
75
+
76
+ def pubsub_items_some_xml
77
+ <<-ITEMS
78
+ <iq type='result'
79
+ from='pubsub.shakespeare.lit'
80
+ to='francisco@denmark.lit/barracks'
81
+ id='items1'>
82
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
83
+ <items node='princely_musings'>
84
+ <item id='368866411b877c30064a5f62b917cffe'>
85
+ <entry xmlns='http://www.w3.org/2005/Atom'>
86
+ <title>The Uses of This World</title>
87
+ <summary>
88
+ O, that this too too solid flesh would melt
89
+ Thaw and resolve itself into a dew!
90
+ </summary>
91
+ <link rel='alternate' type='text/html'
92
+ href='http://denmark.lit/2003/12/13/atom03'/>
93
+ <id>tag:denmark.lit,2003:entry-32396</id>
94
+ <published>2003-12-12T17:47:23Z</published>
95
+ <updated>2003-12-12T17:47:23Z</updated>
96
+ </entry>
97
+ </item>
98
+ <item id='3300659945416e274474e469a1f0154c'>
99
+ <entry xmlns='http://www.w3.org/2005/Atom'>
100
+ <title>Ghostly Encounters</title>
101
+ <summary>
102
+ O all you host of heaven! O earth! what else?
103
+ And shall I couple hell? O, fie! Hold, hold, my heart;
104
+ And you, my sinews, grow not instant old,
105
+ But bear me stiffly up. Remember thee!
106
+ </summary>
107
+ <link rel='alternate' type='text/html'
108
+ href='http://denmark.lit/2003/12/13/atom03'/>
109
+ <id>tag:denmark.lit,2003:entry-32396</id>
110
+ <published>2003-12-12T23:21:34Z</published>
111
+ <updated>2003-12-12T23:21:34Z</updated>
112
+ </entry>
113
+ </item>
114
+ <item id='4e30f35051b7b8b42abe083742187228'>
115
+ <entry xmlns='http://www.w3.org/2005/Atom'>
116
+ <title>Alone</title>
117
+ <summary>
118
+ Now I am alone.
119
+ O, what a rogue and peasant slave am I!
120
+ </summary>
121
+ <link rel='alternate' type='text/html'
122
+ href='http://denmark.lit/2003/12/13/atom03'/>
123
+ <id>tag:denmark.lit,2003:entry-32396</id>
124
+ <published>2003-12-13T11:09:53Z</published>
125
+ <updated>2003-12-13T11:09:53Z</updated>
126
+ </entry>
127
+ </item>
128
+ </items>
129
+ <set xmlns='http://jabber.org/protocol/rsm'>
130
+ <first index='0'>368866411b877c30064a5f62b917cffe</first>
131
+ <last>4e30f35051b7b8b42abe083742187228</last>
132
+ <count>19</count>
133
+ </set>
134
+ </pubsub>
135
+ </iq>
136
+ ITEMS
137
+ end
138
+
139
+ def affiliations_xml
140
+ <<-NODE
141
+ <iq type='result'
142
+ from='pubsub.shakespeare.lit'
143
+ to='francisco@denmark.lit'
144
+ id='affil1'>
145
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
146
+ <affiliations>
147
+ <affiliation node='node1' affiliation='owner'/>
148
+ <affiliation node='node2' affiliation='owner'/>
149
+ <affiliation node='node3' affiliation='publisher'/>
150
+ <affiliation node='node4' affiliation='outcast'/>
151
+ <affiliation node='node5' affiliation='member'/>
152
+ <affiliation node='node6' affiliation='none'/>
153
+ </affiliations>
154
+ </pubsub>
155
+ </iq>
156
+ NODE
157
+ end
158
+
159
+ def subscriptions_xml
160
+ <<-NODE
161
+ <iq type='result'
162
+ from='pubsub.shakespeare.lit'
163
+ to='francisco@denmark.lit'
164
+ id='affil1'>
165
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
166
+ <subscriptions>
167
+ <subscription node='node1' jid='francisco@denmark.lit' subscription='subscribed'/>
168
+ <subscription node='node2' jid='francisco@denmark.lit' subscription='subscribed'/>
169
+ <subscription node='node3' jid='francisco@denmark.lit' subscription='unconfigured'/>
170
+ <subscription node='node4' jid='francisco@denmark.lit' subscription='pending'/>
171
+ <subscription node='node5' jid='francisco@denmark.lit' subscription='none'/>
172
+ </subscriptions>
173
+ </pubsub>
174
+ </iq>
175
+ NODE
176
+ end
177
+
178
+ def event_with_payload_xml
179
+ <<-NODE
180
+ <message from='pubsub.shakespeare.lit' to='francisco@denmark.lit' id='foo'>
181
+ <event xmlns='http://jabber.org/protocol/pubsub#event'>
182
+ <items node='princely_musings'>
183
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'>
184
+ <entry xmlns='http://www.w3.org/2005/Atom'>
185
+ <title>Soliloquy</title>
186
+ <summary>
187
+ To be, or not to be: that is the question:
188
+ Whether 'tis nobler in the mind to suffer
189
+ The slings and arrows of outrageous fortune,
190
+ Or to take arms against a sea of troubles,
191
+ And by opposing end them?
192
+ </summary>
193
+ <link rel='alternate' type='text/html'
194
+ href='http://denmark.lit/2003/12/13/atom03'/>
195
+ <id>tag:denmark.lit,2003:entry-32397</id>
196
+ <published>2003-12-13T18:30:02Z</published>
197
+ <updated>2003-12-13T18:30:02Z</updated>
198
+ </entry>
199
+ </item>
200
+ </items>
201
+ </event>
202
+ </message>
203
+ NODE
204
+ end
205
+
206
+ def event_notification_xml
207
+ <<-NODE
208
+ <message from='pubsub.shakespeare.lit' to='francisco@denmark.lit' id='foo'>
209
+ <event xmlns='http://jabber.org/protocol/pubsub#event'>
210
+ <items node='princely_musings'>
211
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'/>
212
+ </items>
213
+ </event>
214
+ </message>
215
+ NODE
216
+ end
217
+
218
+ def event_subids_xml
219
+ <<-NODE
220
+ <message from='pubsub.shakespeare.lit' to='francisco@denmark.lit' id='foo'>
221
+ <event xmlns='http://jabber.org/protocol/pubsub#event'>
222
+ <items node='princely_musings'>
223
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'/>
224
+ </items>
225
+ </event>
226
+ <headers xmlns='http://jabber.org/protocol/shim'>
227
+ <header name='SubID'>123-abc</header>
228
+ <header name='SubID'>004-yyy</header>
229
+ </headers>
230
+ </message>
231
+ NODE
232
+ end
233
+
234
+ def unsubscribe_xml
235
+ <<-NODE
236
+ <iq type='error'
237
+ from='pubsub.shakespeare.lit'
238
+ to='francisco@denmark.lit/barracks'
239
+ id='unsub1'>
240
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
241
+ <unsubscribe node='princely_musings' jid='francisco@denmark.lit'/>
242
+ </pubsub>
243
+ <error type='modify'>
244
+ <bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
245
+ <subid-required xmlns='http://jabber.org/protocol/pubsub#errors'/>
246
+ </error>
247
+ </iq>
248
+ NODE
249
+ end
250
+
251
+ def subscription_xml
252
+ <<-NODE
253
+ <iq type='result'
254
+ from='pubsub.shakespeare.lit'
255
+ to='francisco@denmark.lit/barracks'
256
+ id='sub1'>
257
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
258
+ <subscription
259
+ node='princely_musings'
260
+ jid='francisco@denmark.lit'
261
+ subid='ba49252aaa4f5d320c24d3766f0bdcade78c78d3'
262
+ subscription='subscribed'/>
263
+ </pubsub>
264
+ </iq>
265
+ NODE
266
+ end
267
+
268
+ def subscribe_xml
269
+ <<-NODE
270
+ <iq type='set'
271
+ from='francisco@denmark.lit/barracks'
272
+ to='pubsub.shakespeare.lit'
273
+ id='sub1'>
274
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
275
+ <subscribe
276
+ node='princely_musings'
277
+ jid='francisco@denmark.lit'/>
278
+ </pubsub>
279
+ </iq>
280
+ NODE
281
+ end
282
+
283
+ def publish_xml
284
+ <<-NODE
285
+ <iq type='result'
286
+ from='pubsub.shakespeare.lit'
287
+ to='hamlet@denmark.lit/blogbot'
288
+ id='publish1'>
289
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
290
+ <publish node='princely_musings'>
291
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'/>
292
+ </publish>
293
+ </pubsub>
294
+ </iq>
295
+ NODE
296
+ end
297
+
298
+ def retract_xml
299
+ <<-NODE
300
+ <iq type='set'
301
+ from='hamlet@denmark.lit/elsinore'
302
+ to='pubsub.shakespeare.lit'
303
+ id='retract1'>
304
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
305
+ <retract node='princely_musings'>
306
+ <item id='ae890ac52d0df67ed7cfdf51b644e901'/>
307
+ </retract>
308
+ </pubsub>
309
+ </iq>
310
+ NODE
311
+ end
@@ -0,0 +1,43 @@
1
+ $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..'))
2
+ $:.unshift File.expand_path(File.join(File.dirname(__FILE__), *%w[.. lib]))
3
+
4
+ require 'blather'
5
+ require 'rubygems'
6
+ require 'minitest/spec'
7
+ require 'mocha'
8
+ require 'mocha/expectation_error'
9
+
10
+ MiniTest::Unit.autorun
11
+
12
+ module MiniTest
13
+ require 'pathname' if MINI_DIR =~ %r{^./}
14
+
15
+ module Assertions
16
+ def assert_change(stmt, args = {}, msg = nil)
17
+ msg ||= proc {
18
+ m = "Expected #{stmt} to change"
19
+ m << " by #{mu_pp args[:by]}" if args[:by]
20
+ m << (args[:from] ? " from #{mu_pp args[:from]}" : '') + " to #{mu_pp args[:to]}" if args[:to]
21
+ m
22
+ }.call
23
+
24
+ init_val = eval(stmt)
25
+ yield
26
+ new_val = eval(stmt)
27
+
28
+ assert_equal(args[:by], (new_val - init_val), msg) if args[:by]
29
+ assert_equal([args[:from], args[:to]], [(init_val if args[:from]), new_val], msg) if args[:to]
30
+ refute_equal(init_val, new_val, msg) if args.empty?
31
+ end
32
+ end
33
+ end
34
+
35
+ class Object
36
+ def must_change *args, &block
37
+ return MiniTest::Spec.current.assert_change(*args, &self)
38
+ end
39
+ end
40
+
41
+ def parse_stanza(xml)
42
+ Nokogiri::XML.parse xml
43
+ end
metadata ADDED
@@ -0,0 +1,249 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shingara-blather
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 8
9
+ version: 0.4.8
10
+ platform: ruby
11
+ authors:
12
+ - Jeff Smick
13
+ - Cyril Mougel
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-05-18 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: eventmachine
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 0
31
+ - 12
32
+ - 6
33
+ version: 0.12.6
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: nokogiri
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ segments:
45
+ - 1
46
+ - 4
47
+ - 0
48
+ version: 1.4.0
49
+ type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: active_support
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ segments:
60
+ - 3
61
+ - 0
62
+ - 0
63
+ - beta3
64
+ version: 3.0.0.beta3
65
+ type: :runtime
66
+ version_requirements: *id003
67
+ description: An XMPP DSL for Ruby written on top of EventMachine and Nokogiri
68
+ email: sprsquish@gmail.com
69
+ executables: []
70
+
71
+ extensions: []
72
+
73
+ extra_rdoc_files:
74
+ - LICENSE
75
+ - README.md
76
+ files:
77
+ - examples/echo.rb
78
+ - examples/execute.rb
79
+ - examples/ping_pong.rb
80
+ - examples/print_hierarchy.rb
81
+ - examples/rosterprint.rb
82
+ - examples/stream_only.rb
83
+ - examples/xmpp4r/echo.rb
84
+ - lib/blather.rb
85
+ - lib/blather/client.rb
86
+ - lib/blather/client/client.rb
87
+ - lib/blather/client/dsl.rb
88
+ - lib/blather/client/dsl/pubsub.rb
89
+ - lib/blather/core_ext/nokogiri.rb
90
+ - lib/blather/errors.rb
91
+ - lib/blather/errors/sasl_error.rb
92
+ - lib/blather/errors/stanza_error.rb
93
+ - lib/blather/errors/stream_error.rb
94
+ - lib/blather/jid.rb
95
+ - lib/blather/roster.rb
96
+ - lib/blather/roster_item.rb
97
+ - lib/blather/stanza.rb
98
+ - lib/blather/stanza/disco.rb
99
+ - lib/blather/stanza/disco/disco_info.rb
100
+ - lib/blather/stanza/disco/disco_items.rb
101
+ - lib/blather/stanza/iq.rb
102
+ - lib/blather/stanza/iq/query.rb
103
+ - lib/blather/stanza/iq/roster.rb
104
+ - lib/blather/stanza/message.rb
105
+ - lib/blather/stanza/presence.rb
106
+ - lib/blather/stanza/presence/status.rb
107
+ - lib/blather/stanza/presence/subscription.rb
108
+ - lib/blather/stanza/pubsub.rb
109
+ - lib/blather/stanza/pubsub/affiliations.rb
110
+ - lib/blather/stanza/pubsub/create.rb
111
+ - lib/blather/stanza/pubsub/errors.rb
112
+ - lib/blather/stanza/pubsub/event.rb
113
+ - lib/blather/stanza/pubsub/items.rb
114
+ - lib/blather/stanza/pubsub/publish.rb
115
+ - lib/blather/stanza/pubsub/retract.rb
116
+ - lib/blather/stanza/pubsub/subscribe.rb
117
+ - lib/blather/stanza/pubsub/subscription.rb
118
+ - lib/blather/stanza/pubsub/subscriptions.rb
119
+ - lib/blather/stanza/pubsub/unsubscribe.rb
120
+ - lib/blather/stanza/pubsub_owner.rb
121
+ - lib/blather/stanza/pubsub_owner/delete.rb
122
+ - lib/blather/stanza/pubsub_owner/purge.rb
123
+ - lib/blather/stream.rb
124
+ - lib/blather/stream/client.rb
125
+ - lib/blather/stream/component.rb
126
+ - lib/blather/stream/features.rb
127
+ - lib/blather/stream/features/resource.rb
128
+ - lib/blather/stream/features/sasl.rb
129
+ - lib/blather/stream/features/session.rb
130
+ - lib/blather/stream/features/tls.rb
131
+ - lib/blather/stream/parser.rb
132
+ - lib/blather/xmpp_node.rb
133
+ - LICENSE
134
+ - README.md
135
+ - spec/blather/client/client_spec.rb
136
+ - spec/blather/client/dsl/pubsub_spec.rb
137
+ - spec/blather/client/dsl_spec.rb
138
+ - spec/blather/core_ext/nokogiri_spec.rb
139
+ - spec/blather/errors/sasl_error_spec.rb
140
+ - spec/blather/errors/stanza_error_spec.rb
141
+ - spec/blather/errors/stream_error_spec.rb
142
+ - spec/blather/errors_spec.rb
143
+ - spec/blather/jid_spec.rb
144
+ - spec/blather/roster_item_spec.rb
145
+ - spec/blather/roster_spec.rb
146
+ - spec/blather/stanza/discos/disco_info_spec.rb
147
+ - spec/blather/stanza/discos/disco_items_spec.rb
148
+ - spec/blather/stanza/iq/query_spec.rb
149
+ - spec/blather/stanza/iq/roster_spec.rb
150
+ - spec/blather/stanza/iq_spec.rb
151
+ - spec/blather/stanza/message_spec.rb
152
+ - spec/blather/stanza/presence/status_spec.rb
153
+ - spec/blather/stanza/presence/subscription_spec.rb
154
+ - spec/blather/stanza/presence_spec.rb
155
+ - spec/blather/stanza/pubsub/affiliations_spec.rb
156
+ - spec/blather/stanza/pubsub/create_spec.rb
157
+ - spec/blather/stanza/pubsub/event_spec.rb
158
+ - spec/blather/stanza/pubsub/items_spec.rb
159
+ - spec/blather/stanza/pubsub/publish_spec.rb
160
+ - spec/blather/stanza/pubsub/retract_spec.rb
161
+ - spec/blather/stanza/pubsub/subscribe_spec.rb
162
+ - spec/blather/stanza/pubsub/subscription_spec.rb
163
+ - spec/blather/stanza/pubsub/subscriptions_spec.rb
164
+ - spec/blather/stanza/pubsub/unsubscribe_spec.rb
165
+ - spec/blather/stanza/pubsub_owner/delete_spec.rb
166
+ - spec/blather/stanza/pubsub_owner/purge_spec.rb
167
+ - spec/blather/stanza/pubsub_owner_spec.rb
168
+ - spec/blather/stanza/pubsub_spec.rb
169
+ - spec/blather/stanza_spec.rb
170
+ - spec/blather/stream/client_spec.rb
171
+ - spec/blather/stream/component_spec.rb
172
+ - spec/blather/stream/parser_spec.rb
173
+ - spec/blather/xmpp_node_spec.rb
174
+ - spec/fixtures/pubsub.rb
175
+ - spec/spec_helper.rb
176
+ has_rdoc: true
177
+ homepage: http://github.com/shingara/blather
178
+ licenses: []
179
+
180
+ post_install_message:
181
+ rdoc_options:
182
+ - --charset=UTF-8
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ segments:
191
+ - 0
192
+ version: "0"
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ segments:
199
+ - 0
200
+ version: "0"
201
+ requirements: []
202
+
203
+ rubyforge_project: squishtech
204
+ rubygems_version: 1.3.7
205
+ signing_key:
206
+ specification_version: 3
207
+ summary: Simpler XMPP built for speed
208
+ test_files:
209
+ - spec/blather/client/client_spec.rb
210
+ - spec/blather/client/dsl/pubsub_spec.rb
211
+ - spec/blather/client/dsl_spec.rb
212
+ - spec/blather/core_ext/nokogiri_spec.rb
213
+ - spec/blather/errors/sasl_error_spec.rb
214
+ - spec/blather/errors/stanza_error_spec.rb
215
+ - spec/blather/errors/stream_error_spec.rb
216
+ - spec/blather/errors_spec.rb
217
+ - spec/blather/jid_spec.rb
218
+ - spec/blather/roster_item_spec.rb
219
+ - spec/blather/roster_spec.rb
220
+ - spec/blather/stanza/discos/disco_info_spec.rb
221
+ - spec/blather/stanza/discos/disco_items_spec.rb
222
+ - spec/blather/stanza/iq/query_spec.rb
223
+ - spec/blather/stanza/iq/roster_spec.rb
224
+ - spec/blather/stanza/iq_spec.rb
225
+ - spec/blather/stanza/message_spec.rb
226
+ - spec/blather/stanza/presence/status_spec.rb
227
+ - spec/blather/stanza/presence/subscription_spec.rb
228
+ - spec/blather/stanza/presence_spec.rb
229
+ - spec/blather/stanza/pubsub/affiliations_spec.rb
230
+ - spec/blather/stanza/pubsub/create_spec.rb
231
+ - spec/blather/stanza/pubsub/event_spec.rb
232
+ - spec/blather/stanza/pubsub/items_spec.rb
233
+ - spec/blather/stanza/pubsub/publish_spec.rb
234
+ - spec/blather/stanza/pubsub/retract_spec.rb
235
+ - spec/blather/stanza/pubsub/subscribe_spec.rb
236
+ - spec/blather/stanza/pubsub/subscription_spec.rb
237
+ - spec/blather/stanza/pubsub/subscriptions_spec.rb
238
+ - spec/blather/stanza/pubsub/unsubscribe_spec.rb
239
+ - spec/blather/stanza/pubsub_owner/delete_spec.rb
240
+ - spec/blather/stanza/pubsub_owner/purge_spec.rb
241
+ - spec/blather/stanza/pubsub_owner_spec.rb
242
+ - spec/blather/stanza/pubsub_spec.rb
243
+ - spec/blather/stanza_spec.rb
244
+ - spec/blather/stream/client_spec.rb
245
+ - spec/blather/stream/component_spec.rb
246
+ - spec/blather/stream/parser_spec.rb
247
+ - spec/blather/xmpp_node_spec.rb
248
+ - spec/fixtures/pubsub.rb
249
+ - spec/spec_helper.rb