shingara-blather 0.4.8
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +22 -0
- data/README.md +162 -0
- data/examples/echo.rb +18 -0
- data/examples/execute.rb +16 -0
- data/examples/ping_pong.rb +37 -0
- data/examples/print_hierarchy.rb +76 -0
- data/examples/rosterprint.rb +14 -0
- data/examples/stream_only.rb +27 -0
- data/examples/xmpp4r/echo.rb +35 -0
- data/lib/blather/client/client.rb +310 -0
- data/lib/blather/client/dsl/pubsub.rb +170 -0
- data/lib/blather/client/dsl.rb +264 -0
- data/lib/blather/client.rb +87 -0
- data/lib/blather/core_ext/nokogiri.rb +40 -0
- data/lib/blather/errors/sasl_error.rb +43 -0
- data/lib/blather/errors/stanza_error.rb +107 -0
- data/lib/blather/errors/stream_error.rb +82 -0
- data/lib/blather/errors.rb +69 -0
- data/lib/blather/jid.rb +142 -0
- data/lib/blather/roster.rb +111 -0
- data/lib/blather/roster_item.rb +122 -0
- data/lib/blather/stanza/disco/disco_info.rb +176 -0
- data/lib/blather/stanza/disco/disco_items.rb +132 -0
- data/lib/blather/stanza/disco.rb +25 -0
- data/lib/blather/stanza/iq/query.rb +53 -0
- data/lib/blather/stanza/iq/roster.rb +179 -0
- data/lib/blather/stanza/iq.rb +138 -0
- data/lib/blather/stanza/message.rb +332 -0
- data/lib/blather/stanza/presence/status.rb +212 -0
- data/lib/blather/stanza/presence/subscription.rb +101 -0
- data/lib/blather/stanza/presence.rb +163 -0
- data/lib/blather/stanza/pubsub/affiliations.rb +79 -0
- data/lib/blather/stanza/pubsub/create.rb +65 -0
- data/lib/blather/stanza/pubsub/errors.rb +18 -0
- data/lib/blather/stanza/pubsub/event.rb +123 -0
- data/lib/blather/stanza/pubsub/items.rb +103 -0
- data/lib/blather/stanza/pubsub/publish.rb +103 -0
- data/lib/blather/stanza/pubsub/retract.rb +92 -0
- data/lib/blather/stanza/pubsub/subscribe.rb +68 -0
- data/lib/blather/stanza/pubsub/subscription.rb +134 -0
- data/lib/blather/stanza/pubsub/subscriptions.rb +81 -0
- data/lib/blather/stanza/pubsub/unsubscribe.rb +68 -0
- data/lib/blather/stanza/pubsub.rb +129 -0
- data/lib/blather/stanza/pubsub_owner/delete.rb +52 -0
- data/lib/blather/stanza/pubsub_owner/purge.rb +52 -0
- data/lib/blather/stanza/pubsub_owner.rb +51 -0
- data/lib/blather/stanza.rb +149 -0
- data/lib/blather/stream/client.rb +31 -0
- data/lib/blather/stream/component.rb +38 -0
- data/lib/blather/stream/features/resource.rb +63 -0
- data/lib/blather/stream/features/sasl.rb +187 -0
- data/lib/blather/stream/features/session.rb +44 -0
- data/lib/blather/stream/features/tls.rb +28 -0
- data/lib/blather/stream/features.rb +53 -0
- data/lib/blather/stream/parser.rb +102 -0
- data/lib/blather/stream.rb +231 -0
- data/lib/blather/xmpp_node.rb +218 -0
- data/lib/blather.rb +78 -0
- data/spec/blather/client/client_spec.rb +559 -0
- data/spec/blather/client/dsl/pubsub_spec.rb +462 -0
- data/spec/blather/client/dsl_spec.rb +143 -0
- data/spec/blather/core_ext/nokogiri_spec.rb +83 -0
- data/spec/blather/errors/sasl_error_spec.rb +33 -0
- data/spec/blather/errors/stanza_error_spec.rb +129 -0
- data/spec/blather/errors/stream_error_spec.rb +108 -0
- data/spec/blather/errors_spec.rb +33 -0
- data/spec/blather/jid_spec.rb +87 -0
- data/spec/blather/roster_item_spec.rb +96 -0
- data/spec/blather/roster_spec.rb +103 -0
- data/spec/blather/stanza/discos/disco_info_spec.rb +226 -0
- data/spec/blather/stanza/discos/disco_items_spec.rb +148 -0
- data/spec/blather/stanza/iq/query_spec.rb +64 -0
- data/spec/blather/stanza/iq/roster_spec.rb +140 -0
- data/spec/blather/stanza/iq_spec.rb +45 -0
- data/spec/blather/stanza/message_spec.rb +132 -0
- data/spec/blather/stanza/presence/status_spec.rb +132 -0
- data/spec/blather/stanza/presence/subscription_spec.rb +105 -0
- data/spec/blather/stanza/presence_spec.rb +66 -0
- data/spec/blather/stanza/pubsub/affiliations_spec.rb +57 -0
- data/spec/blather/stanza/pubsub/create_spec.rb +56 -0
- data/spec/blather/stanza/pubsub/event_spec.rb +84 -0
- data/spec/blather/stanza/pubsub/items_spec.rb +79 -0
- data/spec/blather/stanza/pubsub/publish_spec.rb +83 -0
- data/spec/blather/stanza/pubsub/retract_spec.rb +75 -0
- data/spec/blather/stanza/pubsub/subscribe_spec.rb +61 -0
- data/spec/blather/stanza/pubsub/subscription_spec.rb +97 -0
- data/spec/blather/stanza/pubsub/subscriptions_spec.rb +59 -0
- data/spec/blather/stanza/pubsub/unsubscribe_spec.rb +61 -0
- data/spec/blather/stanza/pubsub_owner/delete_spec.rb +50 -0
- data/spec/blather/stanza/pubsub_owner/purge_spec.rb +50 -0
- data/spec/blather/stanza/pubsub_owner_spec.rb +27 -0
- data/spec/blather/stanza/pubsub_spec.rb +67 -0
- data/spec/blather/stanza_spec.rb +116 -0
- data/spec/blather/stream/client_spec.rb +1011 -0
- data/spec/blather/stream/component_spec.rb +95 -0
- data/spec/blather/stream/parser_spec.rb +145 -0
- data/spec/blather/xmpp_node_spec.rb +231 -0
- data/spec/fixtures/pubsub.rb +311 -0
- data/spec/spec_helper.rb +43 -0
- 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
|
data/spec/spec_helper.rb
ADDED
@@ -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
|