blather 0.6.2 → 0.7.0

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.
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!)