blather 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/.rspec +3 -0
  2. data/.travis.yml +1 -8
  3. data/CHANGELOG.md +230 -0
  4. data/Guardfile +4 -4
  5. data/README.md +2 -8
  6. data/Rakefile +14 -27
  7. data/blather.gemspec +8 -18
  8. data/lib/blather.rb +1 -0
  9. data/lib/blather/client/client.rb +8 -0
  10. data/lib/blather/roster.rb +7 -0
  11. data/lib/blather/stanza/iq/roster.rb +1 -1
  12. data/lib/blather/stanza/message/muc_user.rb +2 -0
  13. data/lib/blather/stanza/muc/muc_user_base.rb +4 -3
  14. data/lib/blather/stanza/presence.rb +12 -14
  15. data/lib/blather/stanza/presence/c.rb +58 -62
  16. data/lib/blather/stanza/presence/muc.rb +14 -10
  17. data/lib/blather/stanza/presence/muc_user.rb +47 -36
  18. data/lib/blather/stanza/presence/status.rb +106 -101
  19. data/lib/blather/stanza/presence/subscription.rb +59 -60
  20. data/lib/blather/stream.rb +1 -3
  21. data/lib/blather/stream/features/resource.rb +0 -1
  22. data/lib/blather/version.rb +1 -2
  23. data/lib/blather/xmpp_node.rb +24 -3
  24. data/spec/blather/client/client_spec.rb +64 -64
  25. data/spec/blather/client/dsl/pubsub_spec.rb +127 -127
  26. data/spec/blather/client/dsl_spec.rb +11 -11
  27. data/spec/blather/errors/sasl_error_spec.rb +3 -3
  28. data/spec/blather/errors/stanza_error_spec.rb +26 -26
  29. data/spec/blather/errors/stream_error_spec.rb +22 -22
  30. data/spec/blather/errors_spec.rb +7 -7
  31. data/spec/blather/file_transfer_spec.rb +16 -18
  32. data/spec/blather/jid_spec.rb +29 -29
  33. data/spec/blather/roster_item_spec.rb +18 -18
  34. data/spec/blather/roster_spec.rb +18 -18
  35. data/spec/blather/stanza/discos/disco_info_spec.rb +56 -57
  36. data/spec/blather/stanza/discos/disco_items_spec.rb +33 -33
  37. data/spec/blather/stanza/iq/command_spec.rb +57 -57
  38. data/spec/blather/stanza/iq/ibb_spec.rb +27 -39
  39. data/spec/blather/stanza/iq/ping_spec.rb +13 -9
  40. data/spec/blather/stanza/iq/query_spec.rb +16 -16
  41. data/spec/blather/stanza/iq/roster_spec.rb +29 -30
  42. data/spec/blather/stanza/iq/s5b_spec.rb +10 -13
  43. data/spec/blather/stanza/iq/si_spec.rb +20 -23
  44. data/spec/blather/stanza/iq/vcard_spec.rb +22 -25
  45. data/spec/blather/stanza/iq_spec.rb +12 -12
  46. data/spec/blather/stanza/message/muc_user_spec.rb +36 -36
  47. data/spec/blather/stanza/message_spec.rb +56 -56
  48. data/spec/blather/stanza/presence/c_spec.rb +17 -7
  49. data/spec/blather/stanza/presence/muc_spec.rb +8 -8
  50. data/spec/blather/stanza/presence/muc_user_spec.rb +23 -23
  51. data/spec/blather/stanza/presence/status_spec.rb +42 -30
  52. data/spec/blather/stanza/presence/subscription_spec.rb +22 -23
  53. data/spec/blather/stanza/presence_spec.rb +72 -34
  54. data/spec/blather/stanza/pubsub/affiliations_spec.rb +12 -12
  55. data/spec/blather/stanza/pubsub/create_spec.rb +10 -10
  56. data/spec/blather/stanza/pubsub/event_spec.rb +31 -31
  57. data/spec/blather/stanza/pubsub/items_spec.rb +21 -21
  58. data/spec/blather/stanza/pubsub/publish_spec.rb +21 -21
  59. data/spec/blather/stanza/pubsub/retract_spec.rb +20 -20
  60. data/spec/blather/stanza/pubsub/subscribe_spec.rb +17 -17
  61. data/spec/blather/stanza/pubsub/subscription_spec.rb +28 -28
  62. data/spec/blather/stanza/pubsub/subscriptions_spec.rb +11 -11
  63. data/spec/blather/stanza/pubsub/unsubscribe_spec.rb +22 -22
  64. data/spec/blather/stanza/pubsub_owner/delete_spec.rb +9 -9
  65. data/spec/blather/stanza/pubsub_owner/purge_spec.rb +9 -9
  66. data/spec/blather/stanza/pubsub_owner_spec.rb +6 -6
  67. data/spec/blather/stanza/pubsub_spec.rb +16 -16
  68. data/spec/blather/stanza/x_spec.rb +53 -53
  69. data/spec/blather/stanza_spec.rb +39 -39
  70. data/spec/blather/stream/client_spec.rb +133 -133
  71. data/spec/blather/stream/component_spec.rb +7 -7
  72. data/spec/blather/stream/parser_spec.rb +24 -24
  73. data/spec/blather/stream/ssl_spec.rb +7 -7
  74. data/spec/blather/xmpp_node_spec.rb +17 -7
  75. data/spec/blather_spec.rb +4 -4
  76. data/spec/spec_helper.rb +6 -54
  77. metadata +53 -68
  78. data/CHANGELOG +0 -220
data/CHANGELOG DELETED
@@ -1,220 +0,0 @@
1
- develop
2
-
3
- v0.6.2
4
- Feature(benlangfeld): Add password support to MUCUser
5
- Feature(benlangfeld): Add support for invitation elements to MUCUser messages
6
- Feature(benlangfeld): Add support for MUC invite declines
7
- Bugfix(benlangfeld): Don't implicitly create an invite node when checking invite status
8
- Bugfix(benlangfeld): Ensure that form nodes are not duplicated on muc/muc_user presence stanzas
9
-
10
- v0.6.1
11
- Bugfix(benlangfeld): Ensure MUC presence nodes (joining) have a form element on creation
12
-
13
- v0.6.0
14
- Feature(benlangfeld): Very basic MUC and delayed message support
15
- Bugfix(theozaurus): Disable connection timeout timer if client deliberately disconnects
16
- Bugfix(mtrudel): Fix Roster#each to return roster_items as per documentation
17
-
18
- v0.5.12
19
- Bugfix(benlangfeld): Allow specifying the connection timeout in DSL setup
20
-
21
- v0.5.11
22
- Feature(benlangfeld): Allow specifying a connection timeout
23
- * Raise Blather::Stream::ConnectionTimeout if timeout is exceeded
24
- * Default to 180 seconds
25
-
26
- v0.5.10
27
- Feature(juandebravo): Allow configuring the wire log level
28
- Bugfix(benlangfeld): Checking connection status before the stream is established
29
-
30
- v0.5.9
31
- Bugfix(benlangfeld): Failed connections now raise a Blather::Stream::ConnectionFailed exception
32
- Bugfix(crohr): Blather now supports EventMachine 1.0
33
-
34
- v0.5.8
35
- Bugfix(benlangfeld): JIDs now maintain case, but still compare case insensitively
36
- Bugfix(jmazzi): Development dependencies now resolve correctly on JRuby and Rubinius
37
-
38
- v0.5.7
39
- Bugfix(benlangfeld): Don't install BlueCloth as a development dependency when on JRuby
40
-
41
- v0.5.6
42
- Changes from 0.5.5, this time without a bug when using the namespaced DSL approach
43
-
44
- v0.5.5 (yanked)
45
- Bugfix(benlangfeld/kibs): ActiveSupport was overriding the presence DSL method
46
- Feature(fyafighter): Adds SSL peer verification to TLS
47
-
48
- v0.5.4
49
- Bugfix(fyafighter): Regression related to earlier refactoring: https://github.com/sprsquish/blather/issues/53
50
- Feature(fyafighter): Make it much easier to allow private network addresses
51
- Bugfix(benlangfeld): Fix the Nokogiri dependency to the 1.4.x series, due to a bug in 1.5.x
52
- Bugfix(zlu): Replace class_inheritable_attribute with class_attribute because it is deprecated in ActiveSupport 3.1
53
-
54
- v0.5.3
55
- Feature(benlangfeld): Add XMPP Ping (XEP-0199) support
56
-
57
- v0.5.2
58
- Bugfix(benlangfeld): Remove specs for the Nokogiri extensions which were moved out
59
-
60
- v0.5.1 - yanked
61
- Feature(benlangfeld): Abstract out Nokogiri extensions and helpers into new Niceogiri gem for better sharing
62
- Documentation(benlangfeld)
63
-
64
- v0.5.0
65
- Feature(radsaq): Add a #connected? method on Blather::Client
66
- Feature(benlangfeld)[API change]: Allow the removal of child nodes from an IQ reply
67
- Bugfix(zlu): Use rubygems properly in examples
68
- Bugfix(benlangfeld): Remove code borrowed from ActiveSupport and instead depend on it to avoid version conflicts
69
- Documentation(sprsquish)
70
-
71
- v0.4.16
72
- Feature(benlangfeld): switch from jeweler to bundler
73
- Feature(benlangfeld): add cap support (XEP-0115)
74
- Bugfix(sprsquish): Better equality checking
75
- Bugfix(sprsquish): Fix #to_proc
76
- Bugfix(mironov): Skip private IPs by default
77
-
78
- v0.4.15
79
- Feature(mironov): Implement XEP-0054: vcard-temp
80
- Feature(benlangfeld): Basic support for PubSub subscription notifications as PubSub events
81
- Feature(mironov): Ability to clear handlers
82
- Feature(mironov): Implement incoming file transfers (XEP-0096, XEP-0065, XEP-0047)
83
- Bugfix(mironov): Fix for importing messages with chat states
84
- Bugfix(mironov): Added Symbol#to_proc method to work on ruby 1.8.6
85
- Bugfix(mironov): Fix roster items .status method to return highest priority presence
86
- Bugfix(mironov): Remove old unavailable presences while adding new one
87
- Bugfix(mironov): Use Nokogiri::XML::ParseOptions::NOENT to prevent double-encoding of entities
88
- Bugfix(benlangfeld): Disco Info Identities should have an xml:lang attribute
89
- Bugfix(mironov): Fix lookup path for ruby 1.9
90
- Bugfix(mironov): stanza_error.to_node must set type of the error
91
- Bugfix(mironov): Allow message to have iq child
92
- Bugfix(mironov): Find xhtml body in messages sent from iChat 5.0.3
93
-
94
- v0.4.14
95
- Tests: get specs fully passing on rubinius
96
- Feature(mironov): Implement XEP-0085 Chat State Notifications
97
- Bugfix(mironov): send stanzas unformatted
98
- Bugfix(mironov): Message#xhtml uses inner_html so tags aren't escaped
99
- Bugfix(mironov): Message#xhtml= now works with multiple root nodes
100
-
101
- v0.4.13
102
- Bugfix: Place form child of command inside command element
103
-
104
- v0.4.12
105
- API Change: Switch order of var and type arguments to X::Field.new since var is always required but type is not
106
- API Change: PubSub payloads can be strings or nodes and can be set nil. PubSub#payload will always return a string
107
- Feature: Add forms to Message stanzas
108
-
109
- v0.4.11
110
- Bugfix: command nodes where generating the wrong xml
111
- Bugfix: x nodes where generating the wrong xml
112
- Feature: ability to set identities and features on disco info nodes
113
- Feature: ability to set items on disco item nodes
114
-
115
- v0.4.10
116
- no change
117
-
118
- v0.4.9
119
- Feature: XEP-0004 x:data (benlangfeld)
120
- Feature: XEP-0050 Ad-Hoc commands (benlangfeld)
121
- Minor bugfixes for the specs
122
-
123
- v0.4.8
124
- Feature: add xhtml getter/setter to Message stanza
125
- Bugfix: heirarchy -> hierarchy spelling mistake
126
- Hella documentation
127
-
128
- v0.4.7
129
- Update to work with Nokogiri 1.4.0
130
-
131
- v0.4.6
132
- Bugfix: prioritize authentication mechanisms
133
-
134
- v0.4.5
135
- Bugfix: Change DSL#write to DSL#write_to_stream. Previous way was messing with YAML
136
-
137
- v0.4.4
138
- Add "disconnected" handler type to handle connection termination
139
- Bugfix: Fix error with pubsub using the wrong client connection
140
-
141
- v0.4.3
142
- Bugfix: status stanza with a blank state will be considered :available (GH-23)
143
- Bugfix: ensure regexp guards try to match against a string (GH-24)
144
- Stream creation is now evented. The stream object will be sent to #post_init
145
- Parser debugging disabled by default
146
- Update parser to work with Nokogiri 1.3.2
147
- Bugfix: discover helper now calls the correct method on client
148
- Bugfix: ensure XMPPNode#inherit properly sets namespaces on inherited nodes
149
- Bugfix: xpath guards with namespaces work properly (GH-25)
150
-
151
- v0.4.2
152
- Fix -D option to actually put Blather in debug mode
153
- Stanzas over a client connection will either have the full JID or no JID
154
- Regexp guards can be anything that implements #last_match (Regexp or Oniguruma)
155
- Add "halt" and "pass" to allow handlers to either halt the handler chain or pass to the next handler
156
- Fix default status handler so it doesn't eat the stanza
157
- Add before and after filters. Filters, like handlers, can have guards.
158
-
159
- v0.4.1
160
- Bugfix in roster: trying to call the wrong method on client
161
-
162
- v0.4.0
163
- Switch from LibXML-Ruby to Nokogiri
164
- Update test suite to run on Ruby 1.9
165
- Add "<<" style writer to the DSL to provide for chaining outbound writes
166
- SRV lookup support
167
- Add XPath type of handler guard
168
- PubSub support
169
-
170
- v0.3.4
171
- Remove unneeded functions from the push parser.
172
- Create a ParseWarning error that doesn't kill the stream.
173
- When a parse error comes in the reply should let the other side know it screwed up before dying.
174
- Add the LibXML::XML::Error node to the ParseError/ParseWarning objects.
175
-
176
- v0.3.3
177
- Fix the load error related to not pushing Blather's dir into the load path
178
-
179
- v0.3.2
180
- Switch the push parser from chunking to streaming.
181
- Don't push Blather's dir into the load paths
182
-
183
- v0.3.1
184
- Small changes to the DSL due to handler collisions:
185
- "status" -> "set_status"
186
- "roster" -> "my_roster"
187
- Small changes to the Blather::Client API to keep it feeling more like EM's API:
188
- #stream_started -> #post_init
189
- #call -> #receive_data
190
- #stop -> #close
191
- #stopped -> #unbind
192
- Refactored some of the code internal to Blather::Client
193
- Added command line option handler to default use method (see README)
194
- require libxml-ruby >=1.1.2 (1.1.3 has an inconsistent malloc err on OS X 10.5)
195
- complete specs
196
- add single process ping-pong example
197
-
198
- v0.3.0
199
- Remove autotest discover.rb (created all sorts of conflicts)
200
- Added Hash with Array guard
201
- Added a hirrarchy printer to examples directory
202
- Moved Disco to be in the Stanza namespace (staves off deeply namespaced classes)
203
- Namespaced the DSL methods to Blather::DSL. These can be included in any object you like now. "require 'blather/client'" will still include them directly in Kernel to keep the simple one-file dsl
204
- Stopped doing one class per error type. This created a giant hierarchy tree that was just unnecessary. The error name is now #name. Errors can be matched with a combination of handler and guard.
205
- Fixed XML namespaces. Previous versions weren't actually adding the node to the namespace making xpath queries inconsistent at best.
206
- Added support for anonymous authentication by providing a blank node on the jid ("@[host]")
207
-
208
- v0.2.3
209
- Go back to using the master branch for gems (stupid mistake)
210
-
211
- v0.2.2
212
- Switch to Jeweler.
213
- Move from custom libxml to just a custom push parser
214
- Add guards to handlers
215
-
216
- v0.2.1 Upgrade to libxml 0.9.7
217
-
218
- v0.2 Overhaul the DSL to look more like Sinatra
219
-
220
- v0.1 Initial release (birth!)