ably 0.7.5 → 0.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +1 -0
- data/.gitmodules +3 -0
- data/README.md +46 -22
- data/SPEC.md +345 -240
- data/ably.gemspec +4 -2
- data/lib/ably/auth.rb +18 -14
- data/lib/ably/models/message.rb +1 -1
- data/lib/ably/models/paginated_resource.rb +31 -44
- data/lib/ably/models/presence_message.rb +1 -1
- data/lib/ably/models/stat.rb +67 -24
- data/lib/ably/models/stats_types.rb +131 -0
- data/lib/ably/modules/async_wrapper.rb +3 -2
- data/lib/ably/modules/message_emitter.rb +2 -2
- data/lib/ably/realtime.rb +1 -1
- data/lib/ably/realtime/channel.rb +24 -3
- data/lib/ably/realtime/channel/channel_manager.rb +1 -0
- data/lib/ably/realtime/client.rb +2 -2
- data/lib/ably/realtime/connection.rb +1 -1
- data/lib/ably/realtime/presence.rb +12 -1
- data/lib/ably/rest.rb +1 -1
- data/lib/ably/rest/channel.rb +4 -5
- data/lib/ably/rest/client.rb +5 -5
- data/lib/ably/rest/presence.rb +2 -2
- data/lib/ably/version.rb +1 -1
- data/spec/acceptance/realtime/channel_history_spec.rb +74 -23
- data/spec/acceptance/realtime/channel_spec.rb +3 -3
- data/spec/acceptance/realtime/client_spec.rb +3 -3
- data/spec/acceptance/realtime/connection_failures_spec.rb +2 -2
- data/spec/acceptance/realtime/connection_spec.rb +4 -4
- data/spec/acceptance/realtime/message_spec.rb +5 -5
- data/spec/acceptance/realtime/presence_history_spec.rb +56 -13
- data/spec/acceptance/realtime/presence_spec.rb +8 -8
- data/spec/acceptance/realtime/stats_spec.rb +1 -1
- data/spec/acceptance/realtime/time_spec.rb +1 -1
- data/spec/acceptance/rest/auth_spec.rb +31 -4
- data/spec/acceptance/rest/base_spec.rb +3 -3
- data/spec/acceptance/rest/channel_spec.rb +19 -19
- data/spec/acceptance/rest/channels_spec.rb +1 -1
- data/spec/acceptance/rest/client_spec.rb +9 -6
- data/spec/acceptance/rest/encoders_spec.rb +1 -1
- data/spec/acceptance/rest/message_spec.rb +10 -10
- data/spec/acceptance/rest/presence_spec.rb +81 -51
- data/spec/acceptance/rest/stats_spec.rb +46 -41
- data/spec/acceptance/rest/time_spec.rb +1 -1
- data/spec/shared/client_initializer_behaviour.rb +30 -19
- data/spec/spec_helper.rb +3 -0
- data/spec/support/markdown_spec_formatter.rb +1 -1
- data/spec/support/test_app.rb +11 -24
- data/spec/unit/auth_spec.rb +1 -1
- data/spec/unit/models/paginated_resource_spec.rb +81 -72
- data/spec/unit/models/stats_spec.rb +289 -0
- data/spec/unit/modules/async_wrapper_spec.rb +1 -1
- data/spec/unit/realtime/client_spec.rb +1 -1
- data/spec/unit/realtime/realtime_spec.rb +1 -1
- data/spec/unit/rest/channel_spec.rb +1 -1
- data/spec/unit/rest/client_spec.rb +8 -8
- data/spec/unit/rest/rest_spec.rb +1 -1
- data/spec/unit/util/crypto_spec.rb +1 -1
- metadata +55 -43
- data/spec/resources/crypto-data-128.json +0 -56
- data/spec/resources/crypto-data-256.json +0 -56
- data/spec/unit/models/stat_spec.rb +0 -113
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MzBmYzdkYTAxZTBhZTUwYTFmMjI0ZjFiYWJhMjY2ZWM5OTExZDZhZg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bcbdc60f16510edf0fa8a6dd96f142d1b507341c
|
4
|
+
data.tar.gz: a4f451ae9f096f4b91f29c493f5985278f5fa6c6
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YTI1N2FjZTNiOGNjMDk1YjVmMmNlZDY0NWE5N2FmZTNkZDMzZGMwMDY0YTdl
|
11
|
-
YTRjYzBjYmQ4ZjNiNjFiODdjYTgyY2MyOTU1ZWU4NjhkZGZhNGE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NzkxYTVlNjNlY2EyZTBhMzgwY2QyM2I5MGZmZjRjMjJmY2JlYjUxNGI1ODA0
|
14
|
-
MjEwOWNhMDk3ZWY0OWM3MDQ3MmNiZDE2ZjhlZjVkYTI4MjcwNjJkYjI2NTRi
|
15
|
-
NDllYmE3ODkyOTI2NGIwZjlkZTYxYjRmMTJhYzBlMDI3MDFmYmQ=
|
6
|
+
metadata.gz: a7f1794e98c16a94d8e1fa3790c82ae3ca5852a4d8e14832366eb45195e620c0728f4b41c21ff20159e30c0b783c0ae39af2caeefc427cf1584be0ad79eb5345
|
7
|
+
data.tar.gz: 6401e4ecbd7aa85609d1568998be4689f7ff340966471111c74a8d5f35ad2e3c93a4cf4121b291022a3b8cc857227f683711ee31d36dd1170c94ac7cd706495e
|
data/.gitignore
CHANGED
data/.gitmodules
ADDED
data/README.md
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/ably/ably-ruby.png)](https://travis-ci.org/ably/ably-ruby)
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/ably.svg)](http://badge.fury.io/rb/ably)
|
5
|
+
[![Coverage Status](https://coveralls.io/repos/ably/ably-ruby/badge.svg)](https://coveralls.io/r/ably/ably-ruby)
|
5
6
|
|
6
|
-
A Ruby client library for [ably.io](https://ably.io), the
|
7
|
+
A Ruby client library for [ably.io](https://ably.io), the realtime messaging service.
|
7
8
|
|
8
9
|
## Documentation
|
9
10
|
|
@@ -40,7 +41,7 @@ end
|
|
40
41
|
All examples assume a client has been created as follows:
|
41
42
|
|
42
43
|
```ruby
|
43
|
-
client = Ably::Realtime.new(
|
44
|
+
client = Ably::Realtime.new(key: 'xxxxx')
|
44
45
|
```
|
45
46
|
|
46
47
|
### Connection
|
@@ -67,7 +68,7 @@ end
|
|
67
68
|
Given:
|
68
69
|
|
69
70
|
```ruby
|
70
|
-
channel = client.channel(
|
71
|
+
channel = client.channel('test')
|
71
72
|
```
|
72
73
|
|
73
74
|
Subscribe to all events:
|
@@ -82,7 +83,7 @@ end
|
|
82
83
|
Only certain events:
|
83
84
|
|
84
85
|
```ruby
|
85
|
-
channel.subscribe(
|
86
|
+
channel.subscribe('myEvent') do |message|
|
86
87
|
message[:name] #=> "myEvent"
|
87
88
|
message[:data] #=> "myData"
|
88
89
|
end
|
@@ -91,17 +92,19 @@ end
|
|
91
92
|
### Publishing to a channel
|
92
93
|
|
93
94
|
```ruby
|
94
|
-
channel.publish(
|
95
|
+
channel.publish('greeting', 'Hello World!')
|
95
96
|
```
|
96
97
|
|
97
98
|
### Querying the History
|
98
99
|
|
99
100
|
```ruby
|
100
|
-
channel.history do |
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
101
|
+
channel.history do |messages_page|
|
102
|
+
messages_page #=> #<Ably::Models::PaginatedResource ...>
|
103
|
+
messages_page.items.first # #<Ably::Models::Message ...>
|
104
|
+
messages_page.items.first.data # payload for the message
|
105
|
+
messages_page.items.length # number of messages in the current page of history
|
106
|
+
messages_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
107
|
+
messages_page.has_next? # false, there are more pages
|
105
108
|
end
|
106
109
|
```
|
107
110
|
|
@@ -116,11 +119,11 @@ end
|
|
116
119
|
### Querying the Presence History
|
117
120
|
|
118
121
|
```ruby
|
119
|
-
channel.presence.history do |
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
122
|
+
channel.presence.history do |presence_page|
|
123
|
+
presence_page.items.first.action # Any of :enter, :update or :leave
|
124
|
+
presence_page.items.first.client_id # client ID of member
|
125
|
+
presence_page.items.first.data # optional data payload of member
|
126
|
+
presence_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
124
127
|
end
|
125
128
|
```
|
126
129
|
|
@@ -133,32 +136,43 @@ Unlike the Realtime API, all calls are synchronous and are not run within an [Ev
|
|
133
136
|
All examples assume a client and/or channel has been created as follows:
|
134
137
|
|
135
138
|
```ruby
|
136
|
-
client = Ably::Rest.new(
|
139
|
+
client = Ably::Rest.new(key: 'xxxxx')
|
137
140
|
channel = client.channel('test')
|
138
141
|
```
|
139
142
|
|
140
143
|
### Publishing a message to a channel
|
141
144
|
|
142
145
|
```ruby
|
143
|
-
channel.publish(
|
146
|
+
channel.publish('myEvent', 'Hello!') #=> true
|
144
147
|
```
|
145
148
|
|
146
149
|
### Querying the History
|
147
150
|
|
148
151
|
```ruby
|
149
|
-
channel.history #=> #<Ably::Models::PaginatedResource ...>
|
152
|
+
messages_page = channel.history #=> #<Ably::Models::PaginatedResource ...>
|
153
|
+
messages_page.items.first #=> #<Ably::Models::Message ...>
|
154
|
+
messages_page.items.first.data # payload for the message
|
155
|
+
messages_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
156
|
+
messages_page.has_next? # false, there are more pages
|
150
157
|
```
|
151
158
|
|
152
159
|
### Presence on a channel
|
153
160
|
|
154
161
|
```ruby
|
155
|
-
channel.presence.get # => #<Ably::Models::PaginatedResource ...>
|
162
|
+
members_page = channel.presence.get # => #<Ably::Models::PaginatedResource ...>
|
163
|
+
members_page.items.first # first member present in this page => #<Ably::Models::PresenceMessage ...>
|
164
|
+
members_page.items.first.client_id # client ID of first member present
|
165
|
+
members_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
166
|
+
members_page.has_next? # false, there are more pages
|
156
167
|
```
|
157
168
|
|
158
169
|
### Querying the Presence History
|
159
170
|
|
160
171
|
```ruby
|
161
|
-
channel.presence.history
|
172
|
+
presence_page = channel.presence.history #=> #<Ably::Models::PaginatedResource ...>
|
173
|
+
presence_page.items.first #=> #<Ably::Models::PresenceMessage ...>
|
174
|
+
presence_page.items.first.client_id # client ID of first member
|
175
|
+
presence_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
162
176
|
```
|
163
177
|
|
164
178
|
### Generate Token and Token Request
|
@@ -167,7 +181,7 @@ channel.presence.history # => #<Ably::Models::PaginatedResource ...>
|
|
167
181
|
client.auth.request_token
|
168
182
|
# => #<Ably::Models::Token ...>
|
169
183
|
|
170
|
-
client.auth.create_token_request
|
184
|
+
token = client.auth.create_token_request
|
171
185
|
# => {"id"=>...,
|
172
186
|
# "clientId"=>nil,
|
173
187
|
# "ttl"=>3600,
|
@@ -175,12 +189,22 @@ client.auth.create_token_request
|
|
175
189
|
# "capability"=>"{\"*\":[\"*\"]}",
|
176
190
|
# "nonce"=>...,
|
177
191
|
# "mac"=>...}
|
192
|
+
|
193
|
+
client = Ably::Rest.new(token_id: token.id)
|
178
194
|
```
|
179
195
|
|
180
196
|
### Fetching your application's stats
|
181
197
|
|
182
198
|
```ruby
|
183
|
-
client.stats #=> PaginatedResource
|
199
|
+
stats_page = client.stats #=> #<Ably::Models::PaginatedResource ...>
|
200
|
+
stats_page.items.first = #<Ably::Models::Stats ...>
|
201
|
+
stats_page.next # retrieves the next page => #<Ably::Models::PaginatedResource ...>
|
202
|
+
```
|
203
|
+
|
204
|
+
### Fetching the Ably service time
|
205
|
+
|
206
|
+
```ruby
|
207
|
+
client.time #=> 2013-12-12 14:23:34 +0000
|
184
208
|
```
|
185
209
|
|
186
210
|
## Dependencies
|
data/SPEC.md
CHANGED
@@ -1,22 +1,27 @@
|
|
1
|
-
# Ably
|
1
|
+
# Ably Realtime & REST Client Library 0.7.5 Specification
|
2
2
|
|
3
3
|
### Ably::Realtime::Channel#history
|
4
4
|
_(see [spec/acceptance/realtime/channel_history_spec.rb](./spec/acceptance/realtime/channel_history_spec.rb))_
|
5
5
|
* using JSON and MsgPack protocol
|
6
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_history_spec.rb#
|
6
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_history_spec.rb#L21)
|
7
7
|
* with a single client publishing and receiving
|
8
|
-
* [retrieves
|
8
|
+
* [retrieves realtime history](./spec/acceptance/realtime/channel_history_spec.rb#L34)
|
9
9
|
* with two clients publishing messages on the same channel
|
10
|
-
* [retrieves
|
10
|
+
* [retrieves realtime history on both channels](./spec/acceptance/realtime/channel_history_spec.rb#L46)
|
11
11
|
* with lots of messages published with a single client and channel
|
12
12
|
* as one ProtocolMessage
|
13
|
-
* [retrieves history forwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#
|
14
|
-
* [retrieves history backwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#
|
13
|
+
* [retrieves history forwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L88)
|
14
|
+
* [retrieves history backwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L97)
|
15
15
|
* in multiple ProtocolMessages
|
16
|
-
* [retrieves limited history forwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#
|
17
|
-
* [retrieves limited history backwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#
|
16
|
+
* [retrieves limited history forwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#L108)
|
17
|
+
* [retrieves limited history backwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#L119)
|
18
18
|
* and REST history
|
19
|
-
* [return the same results with unique matching message IDs](./spec/acceptance/realtime/channel_history_spec.rb#
|
19
|
+
* [return the same results with unique matching message IDs](./spec/acceptance/realtime/channel_history_spec.rb#L135)
|
20
|
+
* with option until_attach: true
|
21
|
+
* [retrieves all messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#L160)
|
22
|
+
* [raises an exception unless state is attached](./spec/acceptance/realtime/channel_history_spec.rb#L199)
|
23
|
+
* and two pages of messages
|
24
|
+
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#L175)
|
20
25
|
|
21
26
|
### Ably::Realtime::Channel
|
22
27
|
_(see [spec/acceptance/realtime/channel_spec.rb](./spec/acceptance/realtime/channel_spec.rb))_
|
@@ -104,7 +109,7 @@ _(see [spec/acceptance/realtime/client_spec.rb](./spec/acceptance/realtime/clien
|
|
104
109
|
* using JSON and MsgPack protocol
|
105
110
|
* initialization
|
106
111
|
* basic auth
|
107
|
-
* [is enabled by default with a provided :
|
112
|
+
* [is enabled by default with a provided :key option](./spec/acceptance/realtime/client_spec.rb#L18)
|
108
113
|
* :tls option
|
109
114
|
* set to false to forec a plain-text connection
|
110
115
|
* [fails to connect because a private key cannot be sent over a non-secure connection](./spec/acceptance/realtime/client_spec.rb#L31)
|
@@ -112,14 +117,14 @@ _(see [spec/acceptance/realtime/client_spec.rb](./spec/acceptance/realtime/clien
|
|
112
117
|
* with TLS enabled
|
113
118
|
* and a pre-generated Token provided with the :token_id option
|
114
119
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L51)
|
115
|
-
* with valid :
|
120
|
+
* with valid :key and :use_token_auth option set to true
|
116
121
|
* [automatically authorises on connect and generates a token](./spec/acceptance/realtime/client_spec.rb#L64)
|
117
122
|
* with client_id
|
118
123
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L77)
|
119
124
|
* with TLS disabled
|
120
125
|
* and a pre-generated Token provided with the :token_id option
|
121
126
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L51)
|
122
|
-
* with valid :
|
127
|
+
* with valid :key and :use_token_auth option set to true
|
123
128
|
* [automatically authorises on connect and generates a token](./spec/acceptance/realtime/client_spec.rb#L64)
|
124
129
|
* with client_id
|
125
130
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L77)
|
@@ -331,73 +336,78 @@ _(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/mess
|
|
331
336
|
* without suitable publishing permissions
|
332
337
|
* [calls the error callback](./spec/acceptance/realtime/message_spec.rb#L183)
|
333
338
|
* server incorrectly resends a message that was already received by the client library
|
334
|
-
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#
|
339
|
+
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#L203)
|
335
340
|
* encoding and decoding encrypted messages
|
336
341
|
* with AES-128-CBC using crypto-data-128.json fixtures
|
337
342
|
* item 0 with encrypted encoding utf-8/cipher+aes-128-cbc/base64
|
338
343
|
* behaves like an Ably encrypter and decrypter
|
339
344
|
* with #publish and #subscribe
|
340
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
341
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
345
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
346
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
342
347
|
* item 1 with encrypted encoding cipher+aes-128-cbc/base64
|
343
348
|
* behaves like an Ably encrypter and decrypter
|
344
349
|
* with #publish and #subscribe
|
345
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
346
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
350
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
351
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
347
352
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
348
353
|
* behaves like an Ably encrypter and decrypter
|
349
354
|
* with #publish and #subscribe
|
350
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
351
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
355
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
356
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
352
357
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
353
358
|
* behaves like an Ably encrypter and decrypter
|
354
359
|
* with #publish and #subscribe
|
355
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
356
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
360
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
361
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
357
362
|
* with AES-256-CBC using crypto-data-256.json fixtures
|
358
363
|
* item 0 with encrypted encoding utf-8/cipher+aes-256-cbc/base64
|
359
364
|
* behaves like an Ably encrypter and decrypter
|
360
365
|
* with #publish and #subscribe
|
361
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
362
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
366
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
367
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
363
368
|
* item 1 with encrypted encoding cipher+aes-256-cbc/base64
|
364
369
|
* behaves like an Ably encrypter and decrypter
|
365
370
|
* with #publish and #subscribe
|
366
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
367
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
371
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
372
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
368
373
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
369
374
|
* behaves like an Ably encrypter and decrypter
|
370
375
|
* with #publish and #subscribe
|
371
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
372
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
376
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
377
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
373
378
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
374
379
|
* behaves like an Ably encrypter and decrypter
|
375
380
|
* with #publish and #subscribe
|
376
|
-
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#
|
377
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#
|
381
|
+
* [encrypts message automatically before they are pushed to the server](./spec/acceptance/realtime/message_spec.rb#L267)
|
382
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library](./spec/acceptance/realtime/message_spec.rb#L285)
|
378
383
|
* with multiple sends from one client to another
|
379
|
-
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#
|
384
|
+
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#L324)
|
380
385
|
* subscribing with a different transport protocol
|
381
|
-
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
382
|
-
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
383
|
-
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
386
|
+
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L367)
|
387
|
+
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L367)
|
388
|
+
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L367)
|
384
389
|
* publishing on an unencrypted channel and subscribing on an encrypted channel with another client
|
385
|
-
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#
|
390
|
+
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#L386)
|
386
391
|
* publishing on an encrypted channel and subscribing on an unencrypted channel with another client
|
387
|
-
* [delivers the message but still encrypted with a value in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#
|
388
|
-
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#
|
392
|
+
* [delivers the message but still encrypted with a value in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#L404)
|
393
|
+
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#L413)
|
389
394
|
* publishing on an encrypted channel and subscribing with a different algorithm on another client
|
390
|
-
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#
|
391
|
-
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#
|
395
|
+
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#L435)
|
396
|
+
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#L444)
|
392
397
|
* publishing on an encrypted channel and subscribing with a different key on another client
|
393
|
-
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#
|
394
|
-
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#
|
398
|
+
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#L466)
|
399
|
+
* [triggers a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#L475)
|
395
400
|
|
396
401
|
### Ably::Realtime::Presence history
|
397
402
|
_(see [spec/acceptance/realtime/presence_history_spec.rb](./spec/acceptance/realtime/presence_history_spec.rb))_
|
398
403
|
* using JSON and MsgPack protocol
|
399
404
|
* [provides up to the moment presence history](./spec/acceptance/realtime/presence_history_spec.rb#L21)
|
400
405
|
* [ensures REST presence history message IDs match ProtocolMessage wrapped message and connection IDs via Realtime](./spec/acceptance/realtime/presence_history_spec.rb#L41)
|
406
|
+
* with option until_attach: true
|
407
|
+
* [retrieves all presence messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L60)
|
408
|
+
* [raises an exception unless state is attached](./spec/acceptance/realtime/presence_history_spec.rb#L92)
|
409
|
+
* and two pages of messages
|
410
|
+
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L73)
|
401
411
|
|
402
412
|
### Ably::Realtime::Presence
|
403
413
|
_(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/presence_spec.rb))_
|
@@ -633,70 +643,76 @@ _(see [spec/acceptance/rest/auth_spec.rb](./spec/acceptance/rest/auth_spec.rb))_
|
|
633
643
|
* with token_request_block that returns a token
|
634
644
|
* [calls the block when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#L317)
|
635
645
|
* [uses the token request from the block when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L322)
|
646
|
+
* with client_id
|
647
|
+
* [returns a token with the client_id](./spec/acceptance/rest/auth_spec.rb#L357)
|
636
648
|
* before #authorise has been called
|
637
|
-
* [has no current_token](./spec/acceptance/rest/auth_spec.rb#
|
649
|
+
* [has no current_token](./spec/acceptance/rest/auth_spec.rb#L364)
|
638
650
|
* #authorise
|
639
|
-
* [updates the persisted auth options thare are then used for subsequent authorise requests](./spec/acceptance/rest/auth_spec.rb#
|
651
|
+
* [updates the persisted auth options thare are then used for subsequent authorise requests](./spec/acceptance/rest/auth_spec.rb#L411)
|
640
652
|
* when called for the first time since the client has been instantiated
|
641
|
-
* [passes all options to #request_token](./spec/acceptance/rest/auth_spec.rb#
|
642
|
-
* [returns a valid token](./spec/acceptance/rest/auth_spec.rb#
|
643
|
-
* [issues a new token if option :force => true](./spec/acceptance/rest/auth_spec.rb#
|
653
|
+
* [passes all options to #request_token](./spec/acceptance/rest/auth_spec.rb#L375)
|
654
|
+
* [returns a valid token](./spec/acceptance/rest/auth_spec.rb#L380)
|
655
|
+
* [issues a new token if option :force => true](./spec/acceptance/rest/auth_spec.rb#L384)
|
644
656
|
* with previous authorisation
|
645
|
-
* [does not request a token if current_token has not expired](./spec/acceptance/rest/auth_spec.rb#
|
646
|
-
* [requests a new token if token is expired](./spec/acceptance/rest/auth_spec.rb#
|
647
|
-
* [issues a new token if option :force => true](./spec/acceptance/rest/auth_spec.rb#
|
657
|
+
* [does not request a token if current_token has not expired](./spec/acceptance/rest/auth_spec.rb#L395)
|
658
|
+
* [requests a new token if token is expired](./spec/acceptance/rest/auth_spec.rb#L400)
|
659
|
+
* [issues a new token if option :force => true](./spec/acceptance/rest/auth_spec.rb#L406)
|
648
660
|
* with token_request_block
|
649
|
-
* [calls the block](./spec/acceptance/rest/auth_spec.rb#
|
650
|
-
* [uses the token request returned from the block when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
661
|
+
* [calls the block](./spec/acceptance/rest/auth_spec.rb#L427)
|
662
|
+
* [uses the token request returned from the block when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L431)
|
651
663
|
* for every subsequent #request_token
|
652
664
|
* without a provided block
|
653
|
-
* [calls the originally provided block](./spec/acceptance/rest/auth_spec.rb#
|
665
|
+
* [calls the originally provided block](./spec/acceptance/rest/auth_spec.rb#L437)
|
654
666
|
* with a provided block
|
655
|
-
* [does not call the originally provided block and calls the new #request_token block](./spec/acceptance/rest/auth_spec.rb#
|
667
|
+
* [does not call the originally provided block and calls the new #request_token block](./spec/acceptance/rest/auth_spec.rb#L444)
|
656
668
|
* #create_token_request
|
657
|
-
* [uses the key ID from the client](./spec/acceptance/rest/auth_spec.rb#
|
658
|
-
* [uses the default TTL](./spec/acceptance/rest/auth_spec.rb#
|
659
|
-
* [uses the default capability](./spec/acceptance/rest/auth_spec.rb#
|
669
|
+
* [uses the key ID from the client](./spec/acceptance/rest/auth_spec.rb#L460)
|
670
|
+
* [uses the default TTL](./spec/acceptance/rest/auth_spec.rb#L464)
|
671
|
+
* [uses the default capability](./spec/acceptance/rest/auth_spec.rb#L468)
|
660
672
|
* the nonce
|
661
|
-
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#
|
662
|
-
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#
|
673
|
+
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#L473)
|
674
|
+
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#L478)
|
663
675
|
* with option :ttl
|
664
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
676
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L489)
|
665
677
|
* with option :capability
|
666
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
678
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L489)
|
667
679
|
* with option :nonce
|
668
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
680
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L489)
|
669
681
|
* with option :timestamp
|
670
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
682
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L489)
|
671
683
|
* with option :client_id
|
672
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
684
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L489)
|
673
685
|
* with additional invalid attributes
|
674
|
-
* [are ignored](./spec/acceptance/rest/auth_spec.rb#
|
686
|
+
* [are ignored](./spec/acceptance/rest/auth_spec.rb#L497)
|
675
687
|
* when required fields are missing
|
676
|
-
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#
|
677
|
-
* [should raise an exception if key id is missing](./spec/acceptance/rest/auth_spec.rb#
|
688
|
+
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#L508)
|
689
|
+
* [should raise an exception if key id is missing](./spec/acceptance/rest/auth_spec.rb#L512)
|
678
690
|
* with :query_time option
|
679
|
-
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#
|
691
|
+
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#L521)
|
680
692
|
* with :timestamp option
|
681
|
-
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#
|
693
|
+
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#L531)
|
682
694
|
* signing
|
683
|
-
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#
|
695
|
+
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#L548)
|
684
696
|
* using token authentication
|
685
697
|
* with :token_id option
|
686
|
-
* [authenticates successfully using the provided :token_id](./spec/acceptance/rest/auth_spec.rb#
|
687
|
-
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#
|
688
|
-
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#
|
689
|
-
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#
|
698
|
+
* [authenticates successfully using the provided :token_id](./spec/acceptance/rest/auth_spec.rb#L571)
|
699
|
+
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#L575)
|
700
|
+
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#L583)
|
701
|
+
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#L591)
|
690
702
|
* when implicit as a result of using :client id
|
691
703
|
* and requests to the Ably server are mocked
|
692
|
-
* [will send a token request to the server](./spec/acceptance/rest/auth_spec.rb#
|
704
|
+
* [will send a token request to the server](./spec/acceptance/rest/auth_spec.rb#L621)
|
693
705
|
* a token is created
|
694
|
-
* [before a request is made](./spec/acceptance/rest/auth_spec.rb#
|
695
|
-
* [when a message is published](./spec/acceptance/rest/auth_spec.rb#
|
696
|
-
* [with capability and TTL defaults](./spec/acceptance/rest/auth_spec.rb#
|
697
|
-
* when using an :
|
698
|
-
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#
|
699
|
-
* [#
|
706
|
+
* [before a request is made](./spec/acceptance/rest/auth_spec.rb#L630)
|
707
|
+
* [when a message is published](./spec/acceptance/rest/auth_spec.rb#L634)
|
708
|
+
* [with capability and TTL defaults](./spec/acceptance/rest/auth_spec.rb#L638)
|
709
|
+
* when using an :key and basic auth
|
710
|
+
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#L653)
|
711
|
+
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#L657)
|
712
|
+
* [#using_basic_auth? is true](./spec/acceptance/rest/auth_spec.rb#L661)
|
713
|
+
* when using legacy :api_key option and basic auth
|
714
|
+
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#L671)
|
715
|
+
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#L675)
|
700
716
|
|
701
717
|
### Ably::Rest
|
702
718
|
_(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
@@ -729,7 +745,7 @@ _(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
|
729
745
|
_(see [spec/acceptance/rest/channel_spec.rb](./spec/acceptance/rest/channel_spec.rb))_
|
730
746
|
* using JSON and MsgPack protocol
|
731
747
|
* #publish
|
732
|
-
* [should publish the message
|
748
|
+
* [should publish the message and return true indicating success](./spec/acceptance/rest/channel_spec.rb#L17)
|
733
749
|
* #history
|
734
750
|
* [should return the current message history for the channel](./spec/acceptance/rest/channel_spec.rb#L39)
|
735
751
|
* [should return paged history using the PaginatedResource model](./spec/acceptance/rest/channel_spec.rb#L67)
|
@@ -904,41 +920,47 @@ _(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_sp
|
|
904
920
|
* using JSON and MsgPack protocol
|
905
921
|
* tested against presence fixture data set up in test app
|
906
922
|
* #get
|
907
|
-
* [returns current members on the channel with their action set to :present](./spec/acceptance/rest/presence_spec.rb#
|
923
|
+
* [returns current members on the channel with their action set to :present](./spec/acceptance/rest/presence_spec.rb#L41)
|
908
924
|
* with :limit option
|
909
|
-
* [returns a paged response limiting number of members per page](./spec/acceptance/rest/presence_spec.rb#
|
925
|
+
* [returns a paged response limiting number of members per page](./spec/acceptance/rest/presence_spec.rb#L55)
|
910
926
|
* #history
|
911
|
-
* [returns recent presence activity](./spec/acceptance/rest/presence_spec.rb#
|
927
|
+
* [returns recent presence activity](./spec/acceptance/rest/presence_spec.rb#L67)
|
912
928
|
* with options
|
913
929
|
* direction: :forwards
|
914
|
-
* [returns recent presence activity forwards with most recent history last](./spec/acceptance/rest/presence_spec.rb#
|
930
|
+
* [returns recent presence activity forwards with most recent history last](./spec/acceptance/rest/presence_spec.rb#L83)
|
915
931
|
* direction: :backwards
|
916
|
-
* [returns recent presence activity backwards with most recent history first](./spec/acceptance/rest/presence_spec.rb#
|
932
|
+
* [returns recent presence activity backwards with most recent history first](./spec/acceptance/rest/presence_spec.rb#L98)
|
917
933
|
* #history
|
918
934
|
* with time range options
|
919
935
|
* :start
|
920
936
|
* with milliseconds since epoch value
|
921
|
-
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#
|
937
|
+
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#L143)
|
922
938
|
* with Time object value
|
923
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#
|
939
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#L153)
|
924
940
|
* :end
|
925
941
|
* with milliseconds since epoch value
|
926
|
-
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#
|
942
|
+
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#L143)
|
927
943
|
* with Time object value
|
928
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#
|
944
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#L153)
|
929
945
|
* decoding
|
946
|
+
* with encoded fixture data
|
947
|
+
* #history
|
948
|
+
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#L173)
|
949
|
+
* #get
|
950
|
+
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#L180)
|
951
|
+
* decoding permutations using mocked #history
|
930
952
|
* valid decodeable content
|
931
953
|
* #get
|
932
|
-
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#
|
954
|
+
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#L236)
|
933
955
|
* #history
|
934
|
-
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#
|
956
|
+
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#L253)
|
935
957
|
* invalid data
|
936
958
|
* #get
|
937
|
-
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#
|
938
|
-
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#
|
959
|
+
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#L284)
|
960
|
+
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#L288)
|
939
961
|
* #history
|
940
|
-
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#
|
941
|
-
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#
|
962
|
+
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#L308)
|
963
|
+
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#L312)
|
942
964
|
|
943
965
|
### Ably::Rest::Client#stats
|
944
966
|
_(see [spec/acceptance/rest/stats_spec.rb](./spec/acceptance/rest/stats_spec.rb))_
|
@@ -947,30 +969,31 @@ _(see [spec/acceptance/rest/stats_spec.rb](./spec/acceptance/rest/stats_spec.rb)
|
|
947
969
|
* by minute
|
948
970
|
* with :from set to last interval and :limit set to 1
|
949
971
|
* [retrieves only one stat](./spec/acceptance/rest/stats_spec.rb#L50)
|
950
|
-
* [returns
|
951
|
-
* [returns
|
952
|
-
* [returns inbound realtime
|
953
|
-
* [returns
|
954
|
-
* [returns
|
955
|
-
* [returns
|
956
|
-
* [returns
|
957
|
-
* [returns
|
958
|
-
* [returns
|
959
|
-
* [returns
|
960
|
-
* [returns stat objects with #
|
961
|
-
* [returns stat objects with #
|
972
|
+
* [returns zero value for any missing metrics](./spec/acceptance/rest/stats_spec.rb#L54)
|
973
|
+
* [returns all aggregated message data](./spec/acceptance/rest/stats_spec.rb#L59)
|
974
|
+
* [returns inbound realtime all data](./spec/acceptance/rest/stats_spec.rb#L64)
|
975
|
+
* [returns inbound realtime message data](./spec/acceptance/rest/stats_spec.rb#L69)
|
976
|
+
* [returns outbound realtime all data](./spec/acceptance/rest/stats_spec.rb#L74)
|
977
|
+
* [returns persisted presence all data](./spec/acceptance/rest/stats_spec.rb#L79)
|
978
|
+
* [returns connections all data](./spec/acceptance/rest/stats_spec.rb#L84)
|
979
|
+
* [returns channels all data](./spec/acceptance/rest/stats_spec.rb#L89)
|
980
|
+
* [returns api_requests data](./spec/acceptance/rest/stats_spec.rb#L94)
|
981
|
+
* [returns token_requests data](./spec/acceptance/rest/stats_spec.rb#L99)
|
982
|
+
* [returns stat objects with #interval_granularity equal to :minute](./spec/acceptance/rest/stats_spec.rb#L104)
|
983
|
+
* [returns stat objects with #interval_id matching :start](./spec/acceptance/rest/stats_spec.rb#L108)
|
984
|
+
* [returns stat objects with #interval_time matching :start Time](./spec/acceptance/rest/stats_spec.rb#L112)
|
962
985
|
* with :start set to first interval, :limit set to 1 and direction :forwards
|
963
|
-
* [returns the first interval stats as stats are provided forwards from :start](./spec/acceptance/rest/stats_spec.rb#
|
964
|
-
* [returns 3 pages of stats](./spec/acceptance/rest/stats_spec.rb#
|
986
|
+
* [returns the first interval stats as stats are provided forwards from :start](./spec/acceptance/rest/stats_spec.rb#L122)
|
987
|
+
* [returns 3 pages of stats](./spec/acceptance/rest/stats_spec.rb#L126)
|
965
988
|
* with :end set to last interval, :limit set to 1 and direction :backwards
|
966
|
-
* [returns the 3rd interval stats first as stats are provided backwards from :end](./spec/acceptance/rest/stats_spec.rb#
|
967
|
-
* [returns 3 pages of stats](./spec/acceptance/rest/stats_spec.rb#
|
989
|
+
* [returns the 3rd interval stats first as stats are provided backwards from :end](./spec/acceptance/rest/stats_spec.rb#L139)
|
990
|
+
* [returns 3 pages of stats](./spec/acceptance/rest/stats_spec.rb#L143)
|
968
991
|
* by hour
|
969
|
-
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#
|
992
|
+
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#L167)
|
970
993
|
* by day
|
971
|
-
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#
|
994
|
+
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#L167)
|
972
995
|
* by month
|
973
|
-
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#
|
996
|
+
* [should aggregate the stats for that period](./spec/acceptance/rest/stats_spec.rb#L167)
|
974
997
|
|
975
998
|
### Ably::Rest::Client#time
|
976
999
|
_(see [spec/acceptance/rest/time_spec.rb](./spec/acceptance/rest/time_spec.rb))_
|
@@ -1249,36 +1272,39 @@ _(see [spec/unit/models/message_spec.rb](./spec/unit/models/message_spec.rb))_
|
|
1249
1272
|
|
1250
1273
|
### Ably::Models::PaginatedResource
|
1251
1274
|
_(see [spec/unit/models/paginated_resource_spec.rb](./spec/unit/models/paginated_resource_spec.rb))_
|
1252
|
-
*
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1275
|
+
* #items
|
1276
|
+
* [returns correct length from body](./spec/unit/models/paginated_resource_spec.rb#L31)
|
1277
|
+
* [is Enumerable](./spec/unit/models/paginated_resource_spec.rb#L35)
|
1278
|
+
* [is iterable](./spec/unit/models/paginated_resource_spec.rb#L39)
|
1279
|
+
* [provides [] accessor method](./spec/unit/models/paginated_resource_spec.rb#L57)
|
1280
|
+
* [#first gets the first item in page](./spec/unit/models/paginated_resource_spec.rb#L63)
|
1281
|
+
* [#last gets the last item in page](./spec/unit/models/paginated_resource_spec.rb#L67)
|
1282
|
+
* #each
|
1283
|
+
* [returns an enumerator](./spec/unit/models/paginated_resource_spec.rb#L44)
|
1284
|
+
* [yields each item](./spec/unit/models/paginated_resource_spec.rb#L48)
|
1262
1285
|
* with non paged http response
|
1263
|
-
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#
|
1264
|
-
* [is the last page](./spec/unit/models/paginated_resource_spec.rb#
|
1265
|
-
* [does not
|
1266
|
-
* [
|
1267
|
-
* [
|
1286
|
+
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#L172)
|
1287
|
+
* [is the last page](./spec/unit/models/paginated_resource_spec.rb#L176)
|
1288
|
+
* [does not have next page](./spec/unit/models/paginated_resource_spec.rb#L180)
|
1289
|
+
* [does not support pagination](./spec/unit/models/paginated_resource_spec.rb#L184)
|
1290
|
+
* [returns nil when accessing next page](./spec/unit/models/paginated_resource_spec.rb#L188)
|
1291
|
+
* [returns nil when accessing first page](./spec/unit/models/paginated_resource_spec.rb#L192)
|
1268
1292
|
* with paged http response
|
1269
|
-
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#
|
1270
|
-
* [
|
1271
|
-
* [
|
1293
|
+
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#L210)
|
1294
|
+
* [has next page](./spec/unit/models/paginated_resource_spec.rb#L214)
|
1295
|
+
* [is not the last page](./spec/unit/models/paginated_resource_spec.rb#L218)
|
1296
|
+
* [supports pagination](./spec/unit/models/paginated_resource_spec.rb#L222)
|
1272
1297
|
* accessing next page
|
1273
|
-
* [returns another PaginatedResource](./spec/unit/models/paginated_resource_spec.rb#
|
1274
|
-
* [retrieves the next page of results](./spec/unit/models/paginated_resource_spec.rb#
|
1275
|
-
* [is not the first page](./spec/unit/models/paginated_resource_spec.rb#
|
1276
|
-
* [
|
1277
|
-
* [
|
1298
|
+
* [returns another PaginatedResource](./spec/unit/models/paginated_resource_spec.rb#L250)
|
1299
|
+
* [retrieves the next page of results](./spec/unit/models/paginated_resource_spec.rb#L254)
|
1300
|
+
* [is not the first page](./spec/unit/models/paginated_resource_spec.rb#L259)
|
1301
|
+
* [does not have a next page](./spec/unit/models/paginated_resource_spec.rb#L263)
|
1302
|
+
* [is the last page](./spec/unit/models/paginated_resource_spec.rb#L267)
|
1303
|
+
* [returns nil when trying to access the last page when it is the last page](./spec/unit/models/paginated_resource_spec.rb#L271)
|
1278
1304
|
* and then first page
|
1279
|
-
* [returns a PaginatedResource](./spec/unit/models/paginated_resource_spec.rb#
|
1280
|
-
* [retrieves the first page of results](./spec/unit/models/paginated_resource_spec.rb#
|
1281
|
-
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#
|
1305
|
+
* [returns a PaginatedResource](./spec/unit/models/paginated_resource_spec.rb#L282)
|
1306
|
+
* [retrieves the first page of results](./spec/unit/models/paginated_resource_spec.rb#L286)
|
1307
|
+
* [is the first page](./spec/unit/models/paginated_resource_spec.rb#L290)
|
1282
1308
|
|
1283
1309
|
### Ably::Models::PresenceMessage
|
1284
1310
|
_(see [spec/unit/models/presence_message_spec.rb](./spec/unit/models/presence_message_spec.rb))_
|
@@ -1434,62 +1460,135 @@ _(see [spec/unit/models/protocol_message_spec.rb](./spec/unit/models/protocol_me
|
|
1434
1460
|
* with error
|
1435
1461
|
* [returns a valid ErrorInfo object](./spec/unit/models/protocol_message_spec.rb#L261)
|
1436
1462
|
|
1437
|
-
### Ably::Models::
|
1463
|
+
### Ably::Models::Stats
|
1438
1464
|
_(see [spec/unit/models/stat_spec.rb](./spec/unit/models/stat_spec.rb))_
|
1439
|
-
*
|
1440
|
-
*
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1459
|
-
*
|
1460
|
-
* [is
|
1461
|
-
|
1462
|
-
* [is
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1465
|
+
* #all stats
|
1466
|
+
* [returns a MessageTypes object](./spec/unit/models/stat_spec.rb#L17)
|
1467
|
+
* [returns value for message counts](./spec/unit/models/stat_spec.rb#L21)
|
1468
|
+
* [returns value for all data transferred](./spec/unit/models/stat_spec.rb#L25)
|
1469
|
+
* [returns zero for empty values](./spec/unit/models/stat_spec.rb#L29)
|
1470
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L33)
|
1471
|
+
* #all
|
1472
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1473
|
+
* #presence
|
1474
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1475
|
+
* #messages
|
1476
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1477
|
+
* #persisted stats
|
1478
|
+
* [returns a MessageTypes object](./spec/unit/models/stat_spec.rb#L17)
|
1479
|
+
* [returns value for message counts](./spec/unit/models/stat_spec.rb#L21)
|
1480
|
+
* [returns value for all data transferred](./spec/unit/models/stat_spec.rb#L25)
|
1481
|
+
* [returns zero for empty values](./spec/unit/models/stat_spec.rb#L29)
|
1482
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L33)
|
1483
|
+
* #all
|
1484
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1485
|
+
* #presence
|
1486
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1487
|
+
* #messages
|
1488
|
+
* [is a MessageCount object](./spec/unit/models/stat_spec.rb#L39)
|
1489
|
+
* #inbound stats
|
1490
|
+
* [returns a MessageTraffic object](./spec/unit/models/stat_spec.rb#L59)
|
1491
|
+
* [returns value for realtime message counts](./spec/unit/models/stat_spec.rb#L63)
|
1492
|
+
* [returns value for all presence data](./spec/unit/models/stat_spec.rb#L67)
|
1493
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L71)
|
1494
|
+
* #realtime
|
1495
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1496
|
+
* #rest
|
1497
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1498
|
+
* #webhook
|
1499
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1500
|
+
* #all
|
1501
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1502
|
+
* #outbound stats
|
1503
|
+
* [returns a MessageTraffic object](./spec/unit/models/stat_spec.rb#L59)
|
1504
|
+
* [returns value for realtime message counts](./spec/unit/models/stat_spec.rb#L63)
|
1505
|
+
* [returns value for all presence data](./spec/unit/models/stat_spec.rb#L67)
|
1506
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L71)
|
1507
|
+
* #realtime
|
1508
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1509
|
+
* #rest
|
1510
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1511
|
+
* #webhook
|
1512
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1513
|
+
* #all
|
1514
|
+
* [is a MessageTypes object](./spec/unit/models/stat_spec.rb#L77)
|
1515
|
+
* #connections stats
|
1516
|
+
* [returns a ConnectionTypes object](./spec/unit/models/stat_spec.rb#L91)
|
1517
|
+
* [returns value for tls opened counts](./spec/unit/models/stat_spec.rb#L95)
|
1518
|
+
* [returns value for all peak connections](./spec/unit/models/stat_spec.rb#L99)
|
1519
|
+
* [returns zero for empty values](./spec/unit/models/stat_spec.rb#L103)
|
1520
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L107)
|
1521
|
+
* #tls
|
1522
|
+
* [is a ResourceCount object](./spec/unit/models/stat_spec.rb#L113)
|
1523
|
+
* #plain
|
1524
|
+
* [is a ResourceCount object](./spec/unit/models/stat_spec.rb#L113)
|
1525
|
+
* #all
|
1526
|
+
* [is a ResourceCount object](./spec/unit/models/stat_spec.rb#L113)
|
1527
|
+
* #channels stats
|
1528
|
+
* [returns a ResourceCount object](./spec/unit/models/stat_spec.rb#L126)
|
1529
|
+
* [returns value for opened counts](./spec/unit/models/stat_spec.rb#L130)
|
1530
|
+
* [returns value for peak channels](./spec/unit/models/stat_spec.rb#L134)
|
1531
|
+
* [returns zero for empty values](./spec/unit/models/stat_spec.rb#L138)
|
1532
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L142)
|
1533
|
+
* #opened
|
1534
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L148)
|
1535
|
+
* #peak
|
1536
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L148)
|
1537
|
+
* #mean
|
1538
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L148)
|
1539
|
+
* #min
|
1540
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L148)
|
1541
|
+
* #refused
|
1542
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L148)
|
1543
|
+
* #api_requests stats
|
1544
|
+
* [returns a RequestCount object](./spec/unit/models/stat_spec.rb#L164)
|
1545
|
+
* [returns value for succeeded](./spec/unit/models/stat_spec.rb#L168)
|
1546
|
+
* [returns value for failed](./spec/unit/models/stat_spec.rb#L172)
|
1547
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L176)
|
1548
|
+
* #succeeded
|
1549
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1550
|
+
* #failed
|
1551
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1552
|
+
* #refused
|
1553
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1554
|
+
* #token_requests stats
|
1555
|
+
* [returns a RequestCount object](./spec/unit/models/stat_spec.rb#L164)
|
1556
|
+
* [returns value for succeeded](./spec/unit/models/stat_spec.rb#L168)
|
1557
|
+
* [returns value for failed](./spec/unit/models/stat_spec.rb#L172)
|
1558
|
+
* [raises an exception for unknown attributes](./spec/unit/models/stat_spec.rb#L176)
|
1559
|
+
* #succeeded
|
1560
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1561
|
+
* #failed
|
1562
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1563
|
+
* #refused
|
1564
|
+
* [is a Integer object](./spec/unit/models/stat_spec.rb#L182)
|
1466
1565
|
* #interval_granularity
|
1467
|
-
* [returns the granularity of the interval_id](./spec/unit/models/stat_spec.rb#
|
1566
|
+
* [returns the granularity of the interval_id](./spec/unit/models/stat_spec.rb#L193)
|
1468
1567
|
* #interval_time
|
1469
|
-
* [returns a Time object representing the start of the interval](./spec/unit/models/stat_spec.rb#
|
1568
|
+
* [returns a Time object representing the start of the interval](./spec/unit/models/stat_spec.rb#L201)
|
1470
1569
|
* class methods
|
1471
1570
|
* #to_interval_id
|
1472
1571
|
* when time zone of time argument is UTC
|
1473
|
-
* [converts time 2014-02-03:05:06 with granularity :month into 2014-02](./spec/unit/models/stat_spec.rb#
|
1474
|
-
* [converts time 2014-02-03:05:06 with granularity :day into 2014-02-03](./spec/unit/models/stat_spec.rb#
|
1475
|
-
* [converts time 2014-02-03:05:06 with granularity :hour into 2014-02-03:05](./spec/unit/models/stat_spec.rb#
|
1476
|
-
* [converts time 2014-02-03:05:06 with granularity :minute into 2014-02-03:05:06](./spec/unit/models/stat_spec.rb#
|
1477
|
-
* [fails with invalid granularity](./spec/unit/models/stat_spec.rb#
|
1478
|
-
* [fails with invalid time](./spec/unit/models/stat_spec.rb#
|
1572
|
+
* [converts time 2014-02-03:05:06 with granularity :month into 2014-02](./spec/unit/models/stat_spec.rb#L209)
|
1573
|
+
* [converts time 2014-02-03:05:06 with granularity :day into 2014-02-03](./spec/unit/models/stat_spec.rb#L213)
|
1574
|
+
* [converts time 2014-02-03:05:06 with granularity :hour into 2014-02-03:05](./spec/unit/models/stat_spec.rb#L217)
|
1575
|
+
* [converts time 2014-02-03:05:06 with granularity :minute into 2014-02-03:05:06](./spec/unit/models/stat_spec.rb#L221)
|
1576
|
+
* [fails with invalid granularity](./spec/unit/models/stat_spec.rb#L225)
|
1577
|
+
* [fails with invalid time](./spec/unit/models/stat_spec.rb#L229)
|
1479
1578
|
* when time zone of time argument is +02:00
|
1480
|
-
* [converts time 2014-02-03:06 with granularity :hour into 2014-02-03:04 at UTC +00:00](./spec/unit/models/stat_spec.rb#
|
1579
|
+
* [converts time 2014-02-03:06 with granularity :hour into 2014-02-03:04 at UTC +00:00](./spec/unit/models/stat_spec.rb#L235)
|
1481
1580
|
* #from_interval_id
|
1482
|
-
* [converts a month interval_id 2014-02 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#
|
1483
|
-
* [converts a day interval_id 2014-02-03 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#
|
1484
|
-
* [converts an hour interval_id 2014-02-03:05 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#
|
1485
|
-
* [converts a minute interval_id 2014-02-03:05:06 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#
|
1486
|
-
* [fails with an invalid interval_id 14-20](./spec/unit/models/stat_spec.rb#
|
1581
|
+
* [converts a month interval_id 2014-02 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#L242)
|
1582
|
+
* [converts a day interval_id 2014-02-03 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#L247)
|
1583
|
+
* [converts an hour interval_id 2014-02-03:05 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#L252)
|
1584
|
+
* [converts a minute interval_id 2014-02-03:05:06 into a Time object in UTC 0](./spec/unit/models/stat_spec.rb#L257)
|
1585
|
+
* [fails with an invalid interval_id 14-20](./spec/unit/models/stat_spec.rb#L262)
|
1487
1586
|
* #granularity_from_interval_id
|
1488
|
-
* [returns a :month interval_id for 2014-02](./spec/unit/models/stat_spec.rb#
|
1489
|
-
* [returns a :day interval_id for 2014-02-03](./spec/unit/models/stat_spec.rb#
|
1490
|
-
* [returns a :hour interval_id for 2014-02-03:05](./spec/unit/models/stat_spec.rb#
|
1491
|
-
* [returns a :minute interval_id for 2014-02-03:05:06](./spec/unit/models/stat_spec.rb#
|
1492
|
-
* [fails with an invalid interval_id 14-20](./spec/unit/models/stat_spec.rb#
|
1587
|
+
* [returns a :month interval_id for 2014-02](./spec/unit/models/stat_spec.rb#L268)
|
1588
|
+
* [returns a :day interval_id for 2014-02-03](./spec/unit/models/stat_spec.rb#L272)
|
1589
|
+
* [returns a :hour interval_id for 2014-02-03:05](./spec/unit/models/stat_spec.rb#L276)
|
1590
|
+
* [returns a :minute interval_id for 2014-02-03:05:06](./spec/unit/models/stat_spec.rb#L280)
|
1591
|
+
* [fails with an invalid interval_id 14-20](./spec/unit/models/stat_spec.rb#L284)
|
1493
1592
|
|
1494
1593
|
### Ably::Models::Token
|
1495
1594
|
_(see [spec/unit/models/token_spec.rb](./spec/unit/models/token_spec.rb))_
|
@@ -1648,50 +1747,53 @@ _(see [spec/unit/realtime/client_spec.rb](./spec/unit/realtime/client_spec.rb))_
|
|
1648
1747
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L28)
|
1649
1748
|
* nil
|
1650
1749
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L36)
|
1651
|
-
*
|
1750
|
+
* key: "invalid"
|
1652
1751
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L44)
|
1653
|
-
*
|
1752
|
+
* key: "invalid:asdad"
|
1654
1753
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L52)
|
1655
|
-
*
|
1754
|
+
* key and key_id
|
1656
1755
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L60)
|
1657
|
-
*
|
1756
|
+
* key and key_secret
|
1658
1757
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L68)
|
1659
1758
|
* client_id as only option
|
1660
1759
|
* [requires a valid key](./spec/shared/client_initializer_behaviour.rb#L76)
|
1661
1760
|
* with valid arguments
|
1662
|
-
*
|
1761
|
+
* key only
|
1663
1762
|
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L87)
|
1763
|
+
* with legacy :api_key only
|
1764
|
+
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L94)
|
1765
|
+
* [sets the Auth#key](./spec/shared/client_initializer_behaviour.rb#L98)
|
1664
1766
|
* key_id and key_secret
|
1665
|
-
* [constructs an
|
1767
|
+
* [constructs an key](./spec/shared/client_initializer_behaviour.rb#L106)
|
1666
1768
|
* with a string key instead of options hash
|
1667
|
-
* [sets the
|
1668
|
-
* [sets the key_id](./spec/shared/client_initializer_behaviour.rb#
|
1669
|
-
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#
|
1769
|
+
* [sets the key](./spec/shared/client_initializer_behaviour.rb#L114)
|
1770
|
+
* [sets the key_id](./spec/shared/client_initializer_behaviour.rb#L118)
|
1771
|
+
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#L122)
|
1670
1772
|
* with a string token key instead of options hash
|
1671
|
-
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#
|
1773
|
+
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#L130)
|
1672
1774
|
* with token
|
1673
|
-
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#
|
1775
|
+
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#L138)
|
1674
1776
|
* endpoint
|
1675
|
-
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#
|
1777
|
+
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#L144)
|
1676
1778
|
* with environment option
|
1677
|
-
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#
|
1779
|
+
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#L151)
|
1678
1780
|
* tls
|
1679
|
-
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#
|
1781
|
+
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#L170)
|
1680
1782
|
* set to false
|
1681
|
-
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#
|
1682
|
-
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#
|
1783
|
+
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#L161)
|
1784
|
+
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#L165)
|
1683
1785
|
* logger
|
1684
1786
|
* default
|
1685
|
-
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#
|
1686
|
-
* [specifies Logger::ERROR log level](./spec/shared/client_initializer_behaviour.rb#
|
1787
|
+
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#L177)
|
1788
|
+
* [specifies Logger::ERROR log level](./spec/shared/client_initializer_behaviour.rb#L181)
|
1687
1789
|
* with log_level :none
|
1688
|
-
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#
|
1790
|
+
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L189)
|
1689
1791
|
* with custom logger and log_level
|
1690
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
1691
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
1792
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L207)
|
1793
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L211)
|
1692
1794
|
* delegators
|
1693
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
1694
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
1795
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L221)
|
1796
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L226)
|
1695
1797
|
* delegation to the REST Client
|
1696
1798
|
* [passes on the options to the initializer](./spec/unit/realtime/client_spec.rb#L15)
|
1697
1799
|
* for attribute
|
@@ -1771,7 +1873,7 @@ _(see [spec/unit/realtime/safe_deferrable_spec.rb](./spec/unit/realtime/safe_def
|
|
1771
1873
|
* #succeed
|
1772
1874
|
* [calls the callbacks defined with #callback, but not the ones added for #errback](./spec/shared/safe_deferrable_behaviour.rb#L61)
|
1773
1875
|
|
1774
|
-
### Ably::Rest::
|
1876
|
+
### Ably::Rest::Channel
|
1775
1877
|
_(see [spec/unit/rest/channel_spec.rb](./spec/unit/rest/channel_spec.rb))_
|
1776
1878
|
* #initializer
|
1777
1879
|
* as UTF_8 string
|
@@ -1825,63 +1927,66 @@ _(see [spec/unit/rest/client_spec.rb](./spec/unit/rest/client_spec.rb))_
|
|
1825
1927
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L28)
|
1826
1928
|
* nil
|
1827
1929
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L36)
|
1828
|
-
*
|
1930
|
+
* key: "invalid"
|
1829
1931
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L44)
|
1830
|
-
*
|
1932
|
+
* key: "invalid:asdad"
|
1831
1933
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L52)
|
1832
|
-
*
|
1934
|
+
* key and key_id
|
1833
1935
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L60)
|
1834
|
-
*
|
1936
|
+
* key and key_secret
|
1835
1937
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L68)
|
1836
1938
|
* client_id as only option
|
1837
1939
|
* [requires a valid key](./spec/shared/client_initializer_behaviour.rb#L76)
|
1838
1940
|
* with valid arguments
|
1839
|
-
*
|
1941
|
+
* key only
|
1840
1942
|
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L87)
|
1943
|
+
* with legacy :api_key only
|
1944
|
+
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L94)
|
1945
|
+
* [sets the Auth#key](./spec/shared/client_initializer_behaviour.rb#L98)
|
1841
1946
|
* key_id and key_secret
|
1842
|
-
* [constructs an
|
1947
|
+
* [constructs an key](./spec/shared/client_initializer_behaviour.rb#L106)
|
1843
1948
|
* with a string key instead of options hash
|
1844
|
-
* [sets the
|
1845
|
-
* [sets the key_id](./spec/shared/client_initializer_behaviour.rb#
|
1846
|
-
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#
|
1949
|
+
* [sets the key](./spec/shared/client_initializer_behaviour.rb#L114)
|
1950
|
+
* [sets the key_id](./spec/shared/client_initializer_behaviour.rb#L118)
|
1951
|
+
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#L122)
|
1847
1952
|
* with a string token key instead of options hash
|
1848
|
-
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#
|
1953
|
+
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#L130)
|
1849
1954
|
* with token
|
1850
|
-
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#
|
1955
|
+
* [sets the token_id](./spec/shared/client_initializer_behaviour.rb#L138)
|
1851
1956
|
* endpoint
|
1852
|
-
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#
|
1957
|
+
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#L144)
|
1853
1958
|
* with environment option
|
1854
|
-
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#
|
1959
|
+
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#L151)
|
1855
1960
|
* tls
|
1856
|
-
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#
|
1961
|
+
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#L170)
|
1857
1962
|
* set to false
|
1858
|
-
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#
|
1859
|
-
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#
|
1963
|
+
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#L161)
|
1964
|
+
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#L165)
|
1860
1965
|
* logger
|
1861
1966
|
* default
|
1862
|
-
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#
|
1863
|
-
* [specifies Logger::ERROR log level](./spec/shared/client_initializer_behaviour.rb#
|
1967
|
+
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#L177)
|
1968
|
+
* [specifies Logger::ERROR log level](./spec/shared/client_initializer_behaviour.rb#L181)
|
1864
1969
|
* with log_level :none
|
1865
|
-
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#
|
1970
|
+
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L189)
|
1866
1971
|
* with custom logger and log_level
|
1867
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
1868
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
1972
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L207)
|
1973
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L211)
|
1869
1974
|
* delegators
|
1870
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
1871
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
1975
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L221)
|
1976
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L226)
|
1872
1977
|
* initializer options
|
1873
1978
|
* TLS
|
1874
1979
|
* disabled
|
1875
1980
|
* [fails for any operation with basic auth and attempting to send an API key over a non-secure connection](./spec/unit/rest/client_spec.rb#L17)
|
1876
1981
|
* :use_token_auth
|
1877
1982
|
* set to false
|
1878
|
-
* with an
|
1983
|
+
* with an key with :tls => false
|
1879
1984
|
* [fails for any operation with basic auth and attempting to send an API key over a non-secure connection](./spec/unit/rest/client_spec.rb#L28)
|
1880
|
-
* without an
|
1881
|
-
* [fails as an
|
1985
|
+
* without an key
|
1986
|
+
* [fails as an key is required if not using token auth](./spec/unit/rest/client_spec.rb#L36)
|
1882
1987
|
* set to true
|
1883
|
-
* without an
|
1884
|
-
* [fails as an
|
1988
|
+
* without an key or token_id
|
1989
|
+
* [fails as an key is required to issue tokens](./spec/unit/rest/client_spec.rb#L46)
|
1885
1990
|
|
1886
1991
|
### Ably::Rest
|
1887
1992
|
_(see [spec/unit/rest/rest_spec.rb](./spec/unit/rest/rest_spec.rb))_
|
@@ -1922,6 +2027,6 @@ _(see [spec/unit/util/pub_sub_spec.rb](./spec/unit/util/pub_sub_spec.rb))_
|
|
1922
2027
|
|
1923
2028
|
## Test summary
|
1924
2029
|
|
1925
|
-
* Passing tests:
|
2030
|
+
* Passing tests: 1011
|
1926
2031
|
* Pending tests: 7
|
1927
2032
|
* Failing tests: 0
|