ably 1.0.6 → 1.0.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -1
- data/README.md +3 -2
- data/SPEC.md +583 -496
- data/lib/ably/auth.rb +2 -2
- data/lib/ably/rest/client.rb +1 -0
- data/lib/ably/version.rb +1 -1
- data/spec/acceptance/realtime/auth_spec.rb +227 -0
- data/spec/acceptance/rest/auth_spec.rb +37 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 373c9adb90697b65eabdb90c26856ef0c030bd223a7b3b629cb34434f8e39426
|
4
|
+
data.tar.gz: 0717a1945af00c95590b2ef031a0100a3d34309f9d413da9be031de0c77eafd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '07294fc5b261efa16f5ba461a1e45dc6f50e59581863e04274166e23fd8de7015c6d64df7dbeca0787ff6316155ec26325af7e759591bef8fcae416a52cb478d'
|
7
|
+
data.tar.gz: f44a7b62a10753b8fcb415539b0bb9a79fa5951b11380a9ee99a04a98ca59d67ba5969f0f2a3420cc5b02e021135f2dce59793f71cf013e6df6701a074df9b04
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,24 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [v1.0.
|
3
|
+
## [v1.0.7](https://github.com/ably/ably-ruby/tree/1.0.7)
|
4
4
|
|
5
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.0.6...1.0.7)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Add JWT test [\#136](https://github.com/ably/ably-ruby/issues/136)
|
10
|
+
|
11
|
+
**Fixed bugs:**
|
12
|
+
|
13
|
+
- Documentation for add\_request\_ids [\#152](https://github.com/ably/ably-ruby/issues/152)
|
14
|
+
|
15
|
+
**Merged pull requests:**
|
16
|
+
|
17
|
+
- Fix auth\_method-\>auth\_params [\#157](https://github.com/ably/ably-ruby/pull/157) ([SimonWoolf](https://github.com/SimonWoolf))
|
18
|
+
- Add request\_id attribute documentation [\#156](https://github.com/ably/ably-ruby/pull/156) ([funkyboy](https://github.com/funkyboy))
|
19
|
+
- Add JWT tests [\#137](https://github.com/ably/ably-ruby/pull/137) ([funkyboy](https://github.com/funkyboy))
|
20
|
+
|
21
|
+
## [v1.0.6](https://github.com/ably/ably-ruby/tree/v1.0.6) (2018-05-01)
|
5
22
|
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.0.5...v1.0.6)
|
6
23
|
|
7
24
|
**Fixed bugs:**
|
@@ -22,6 +39,7 @@
|
|
22
39
|
- Do not encode strings in-place [\#147](https://github.com/ably/ably-ruby/pull/147) ([mattheworiordan](https://github.com/mattheworiordan))
|
23
40
|
- Only resume if connection is fresh \(RTN15g\*\) [\#146](https://github.com/ably/ably-ruby/pull/146) ([mattheworiordan](https://github.com/mattheworiordan))
|
24
41
|
- Fix channel history pagination test [\#143](https://github.com/ably/ably-ruby/pull/143) ([funkyboy](https://github.com/funkyboy))
|
42
|
+
- New release v1.0.5 [\#142](https://github.com/ably/ably-ruby/pull/142) ([funkyboy](https://github.com/funkyboy))
|
25
43
|
- Fix presence history test [\#141](https://github.com/ably/ably-ruby/pull/141) ([funkyboy](https://github.com/funkyboy))
|
26
44
|
- Do not encode strings in-place [\#140](https://github.com/ably/ably-ruby/pull/140) ([aschuster3](https://github.com/aschuster3))
|
27
45
|
|
data/README.md
CHANGED
@@ -316,10 +316,11 @@ To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANG
|
|
316
316
|
This library uses [semantic versioning](http://semver.org/). For each release, the following needs to be done:
|
317
317
|
|
318
318
|
* Update the version number in [version.rb](./lib/ably/version.rb) and commit the change.
|
319
|
-
* Run [`github_changelog_generator`](https://github.com/skywinder/Github-Changelog-Generator) to automate the update of the [CHANGELOG](./CHANGELOG.md). Once the `CHANGELOG` update has completed, manually change the `Unreleased` heading and link with the current version number such as `v1.0.0`. Also ensure that the `Full Changelog` link points to the new version tag instead of the `HEAD`.
|
319
|
+
* Run [`github_changelog_generator`](https://github.com/skywinder/Github-Changelog-Generator) to automate the update of the [CHANGELOG](./CHANGELOG.md). Once the `CHANGELOG` update has completed, manually change the `Unreleased` heading and link with the current version number such as `v1.0.0`. Also ensure that the `Full Changelog` link points to the new version tag instead of the `HEAD`. Ideally, run `rake doc:spec` to generate a new [spec file](./SPEC.md). Then commit these changes.
|
320
320
|
* Add a tag and push to origin such as `git tag v1.0.0 && git push origin v1.0.0`
|
321
321
|
* Visit [https://github.com/ably/ably-ruby/tags](https://github.com/ably/ably-ruby/tags) and `Add release notes` for the release including links to the changelog entry.
|
322
|
-
* Run `rake release` to publish the gem to [Rubygems](
|
322
|
+
* Run `rake release` to publish the gem to [Rubygems](https://rubygems.org/gems/ably)
|
323
|
+
* Release the [REST-only library `ably-ruby-rest`](https://github.com/ably/ably-ruby-rest#release-process)
|
323
324
|
|
324
325
|
## License
|
325
326
|
|
data/SPEC.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Ably Realtime & REST Client Library
|
1
|
+
# Ably Realtime & REST Client Library 1.0.7 Specification
|
2
2
|
|
3
3
|
### Ably::Realtime::Auth
|
4
4
|
_(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_spec.rb))_
|
@@ -141,8 +141,34 @@ _(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_sp
|
|
141
141
|
* once connected
|
142
142
|
* [is true as identification is completed following CONNECTED ProtocolMessage](./spec/acceptance/realtime/auth_spec.rb#L1007)
|
143
143
|
* deprecated #authorise
|
144
|
-
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/realtime/auth_spec.rb#
|
145
|
-
* [returns a valid token (#RSA10l)](./spec/acceptance/realtime/auth_spec.rb#
|
144
|
+
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/realtime/auth_spec.rb#L1021)
|
145
|
+
* [returns a valid token (#RSA10l)](./spec/acceptance/realtime/auth_spec.rb#L1027)
|
146
|
+
* when using JWT
|
147
|
+
* when using auth_url
|
148
|
+
* when credentials are valid
|
149
|
+
* [client successfully fetches a channel and publishes a message](./spec/acceptance/realtime/auth_spec.rb#L1046)
|
150
|
+
* when credentials are wrong
|
151
|
+
* [disconnected includes and invalid signature message](./spec/acceptance/realtime/auth_spec.rb#L1059)
|
152
|
+
* when token is expired
|
153
|
+
* [receives a 40142 error from the server](./spec/acceptance/realtime/auth_spec.rb#L1072)
|
154
|
+
* when using auth_callback
|
155
|
+
* when credentials are valid
|
156
|
+
* [authentication succeeds and client can post a message](./spec/acceptance/realtime/auth_spec.rb#L1097)
|
157
|
+
* when credentials are invalid
|
158
|
+
* [authentication fails and reason for disconnection is invalid signature](./spec/acceptance/realtime/auth_spec.rb#L1112)
|
159
|
+
* when the client is initialized with ClientOptions and the token is a JWT token
|
160
|
+
* when credentials are valid
|
161
|
+
* [posts successfully to a channel](./spec/acceptance/realtime/auth_spec.rb#L1129)
|
162
|
+
* when credentials are invalid
|
163
|
+
* [fails with an invalid signature error](./spec/acceptance/realtime/auth_spec.rb#L1143)
|
164
|
+
* when JWT token expires
|
165
|
+
* [client disconnects, a new token is requested via auth_callback and the client gets reconnected](./spec/acceptance/realtime/auth_spec.rb#L1170)
|
166
|
+
* and an AUTH procol message is received
|
167
|
+
* [client reauths correctly without going through a disconnection](./spec/acceptance/realtime/auth_spec.rb#L1198)
|
168
|
+
* when the JWT token request includes a client_id
|
169
|
+
* [the client_id is the same that was specified in the auth_callback that generated the JWT token](./spec/acceptance/realtime/auth_spec.rb#L1226)
|
170
|
+
* when the JWT token request includes a subscribe-only capability
|
171
|
+
* [client fails to publish to a channel with subscribe-only capability and publishes successfully on a channel with permissions](./spec/acceptance/realtime/auth_spec.rb#L1244)
|
146
172
|
|
147
173
|
### Ably::Realtime::Channel#history
|
148
174
|
_(see [spec/acceptance/realtime/channel_history_spec.rb](./spec/acceptance/realtime/channel_history_spec.rb))_
|
@@ -154,18 +180,18 @@ _(see [spec/acceptance/realtime/channel_history_spec.rb](./spec/acceptance/realt
|
|
154
180
|
* [retrieves realtime history on both channels](./spec/acceptance/realtime/channel_history_spec.rb#L46)
|
155
181
|
* with lots of messages published with a single client and channel
|
156
182
|
* as one ProtocolMessage
|
157
|
-
* [retrieves history forwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#
|
158
|
-
* [retrieves history backwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#
|
183
|
+
* [retrieves history forwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L94)
|
184
|
+
* [retrieves history backwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L103)
|
159
185
|
* in multiple ProtocolMessages
|
160
|
-
* [retrieves limited history forwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#
|
161
|
-
* [retrieves limited history backwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#
|
186
|
+
* [retrieves limited history forwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#L114)
|
187
|
+
* [retrieves limited history backwards with pagination](./spec/acceptance/realtime/channel_history_spec.rb#L125)
|
162
188
|
* and REST history
|
163
|
-
* [return the same results with unique matching message IDs](./spec/acceptance/realtime/channel_history_spec.rb#
|
189
|
+
* [return the same results with unique matching message IDs](./spec/acceptance/realtime/channel_history_spec.rb#L141)
|
164
190
|
* with option until_attach: true
|
165
|
-
* [retrieves all messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#
|
166
|
-
* [fails the deferrable unless the state is attached](./spec/acceptance/realtime/channel_history_spec.rb#
|
191
|
+
* [retrieves all messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#L166)
|
192
|
+
* [fails the deferrable unless the state is attached](./spec/acceptance/realtime/channel_history_spec.rb#L215)
|
167
193
|
* and two pages of messages
|
168
|
-
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#
|
194
|
+
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#L181)
|
169
195
|
|
170
196
|
### Ably::Realtime::Channel
|
171
197
|
_(see [spec/acceptance/realtime/channel_spec.rb](./spec/acceptance/realtime/channel_spec.rb))_
|
@@ -416,33 +442,33 @@ _(see [spec/acceptance/realtime/channel_spec.rb](./spec/acceptance/realtime/chan
|
|
416
442
|
* [has a reason Error object when there is an error on the channel](./spec/acceptance/realtime/channel_spec.rb#L1877)
|
417
443
|
* #resume (#RTL2f)
|
418
444
|
* [is false when a channel first attaches](./spec/acceptance/realtime/channel_spec.rb#L1890)
|
419
|
-
*
|
420
|
-
* [is false when a connection fails to recover and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#
|
445
|
+
* [is true when a connection is recovered and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#L1898)
|
446
|
+
* [is false when a connection fails to recover and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#L1917)
|
421
447
|
* when a resume fails
|
422
|
-
* [is false when a resume fails to recover and the channel is automatically re-attached](./spec/acceptance/realtime/channel_spec.rb#
|
448
|
+
* [is false when a resume fails to recover and the channel is automatically re-attached](./spec/acceptance/realtime/channel_spec.rb#L1939)
|
423
449
|
* moves to
|
424
450
|
* suspended
|
425
|
-
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#
|
426
|
-
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#
|
451
|
+
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#L1958)
|
452
|
+
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#L1981)
|
427
453
|
* detached
|
428
|
-
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#
|
429
|
-
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#
|
454
|
+
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#L1958)
|
455
|
+
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#L1981)
|
430
456
|
* failed
|
431
|
-
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#
|
432
|
-
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#
|
457
|
+
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#L1958)
|
458
|
+
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#L1981)
|
433
459
|
* when it receives a server-initiated DETACHED (#RTL13)
|
434
460
|
* and channel is initialized (#RTL13)
|
435
|
-
* [does nothing](./spec/acceptance/realtime/channel_spec.rb#
|
461
|
+
* [does nothing](./spec/acceptance/realtime/channel_spec.rb#L2015)
|
436
462
|
* and channel is failed
|
437
|
-
* [does nothing (#RTL13)](./spec/acceptance/realtime/channel_spec.rb#
|
463
|
+
* [does nothing (#RTL13)](./spec/acceptance/realtime/channel_spec.rb#L2036)
|
438
464
|
* and channel is attached
|
439
|
-
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#
|
465
|
+
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#L2052)
|
440
466
|
* and channel is suspended
|
441
|
-
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#
|
467
|
+
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#L2068)
|
442
468
|
* and channel is attaching
|
443
|
-
* [will move to the SUSPENDED state and then attempt to ATTACH with the ATTACHING state (#RTL13b)](./spec/acceptance/realtime/channel_spec.rb#
|
469
|
+
* [will move to the SUSPENDED state and then attempt to ATTACH with the ATTACHING state (#RTL13b)](./spec/acceptance/realtime/channel_spec.rb#L2090)
|
444
470
|
* when it receives an ERROR ProtocolMessage
|
445
|
-
* [should transition to the failed state and the error_reason should be set (#RTL14)](./spec/acceptance/realtime/channel_spec.rb#
|
471
|
+
* [should transition to the failed state and the error_reason should be set (#RTL14)](./spec/acceptance/realtime/channel_spec.rb#L2138)
|
446
472
|
|
447
473
|
### Ably::Realtime::Channels
|
448
474
|
_(see [spec/acceptance/realtime/channels_spec.rb](./spec/acceptance/realtime/channels_spec.rb))_
|
@@ -578,71 +604,81 @@ _(see [spec/acceptance/realtime/connection_failures_spec.rb](./spec/acceptance/r
|
|
578
604
|
* connection resume
|
579
605
|
* when DISCONNECTED ProtocolMessage received from the server
|
580
606
|
* [reconnects automatically and immediately](./spec/acceptance/realtime/connection_failures_spec.rb#L497)
|
607
|
+
* connection state freshness is monitored
|
608
|
+
* [resumes connections when disconnected within the connection_state_ttl period (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#L518)
|
609
|
+
* when connection_state_ttl period has passed since being disconnected
|
610
|
+
* [clears the local connection state and uses a new connection when the connection_state_ttl period has passed (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#L558)
|
611
|
+
* when connection_state_ttl period has passed since last activity on the connection
|
612
|
+
* [does not clear the local connection state when the connection_state_ttl period has passed since last activity, but the idle timeout has not passed (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L611)
|
613
|
+
* [clears the local connection state and uses a new connection when the connection_state_ttl + max_idle_interval period has passed since last activity (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L645)
|
614
|
+
* [still reattaches the channels automatically following a new connection being established (#RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L680)
|
581
615
|
* and subsequently fails to reconnect
|
582
|
-
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#
|
616
|
+
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#L739)
|
583
617
|
* when websocket transport is abruptly disconnected
|
584
|
-
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#
|
618
|
+
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#L782)
|
585
619
|
* hosts used
|
586
|
-
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
620
|
+
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#L798)
|
587
621
|
* after successfully reconnecting and resuming
|
588
|
-
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
589
|
-
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#
|
590
|
-
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
591
|
-
* [retains the client_serial (#RTN15c2, #RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
622
|
+
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#L822)
|
623
|
+
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#L837)
|
624
|
+
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#L863)
|
625
|
+
* [retains the client_serial (#RTN15c2, #RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L924)
|
592
626
|
* when messages were published whilst the client was disconnected
|
593
|
-
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#
|
627
|
+
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#L891)
|
594
628
|
* when failing to resume
|
595
629
|
* because the connection_key is not or no longer valid
|
596
|
-
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#
|
597
|
-
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
598
|
-
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
599
|
-
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
600
|
-
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#
|
601
|
-
* [resets the client_serial (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
630
|
+
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#L964)
|
631
|
+
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L979)
|
632
|
+
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1017)
|
633
|
+
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1053)
|
634
|
+
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#L1091)
|
635
|
+
* [resets the client_serial (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1106)
|
602
636
|
* as the DISCONNECTED window to resume has passed
|
603
|
-
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#
|
637
|
+
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#L1143)
|
604
638
|
* when an ERROR protocol message is received
|
605
639
|
* whilst connecting
|
606
640
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
607
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
641
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1174)
|
608
642
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
609
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
643
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1190)
|
610
644
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
611
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
645
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1203)
|
612
646
|
* whilst connected
|
613
647
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
614
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
648
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1174)
|
615
649
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
616
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
650
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1190)
|
617
651
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
618
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
652
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1203)
|
619
653
|
* whilst resuming
|
620
654
|
* with a token error code in the region 40140 <= code < 40150 (RTN15c5)
|
621
|
-
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#
|
655
|
+
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#L1247)
|
622
656
|
* with any other error (#RTN15c4)
|
623
|
-
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
657
|
+
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#L1279)
|
624
658
|
* fallback host feature
|
625
659
|
* with custom realtime websocket host option
|
626
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
660
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1323)
|
627
661
|
* with custom realtime websocket port option
|
628
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
662
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1341)
|
629
663
|
* with non-production environment
|
630
|
-
* [does not use a fallback host by default](./spec/acceptance/realtime/connection_failures_spec.rb#
|
664
|
+
* [does not use a fallback host by default](./spec/acceptance/realtime/connection_failures_spec.rb#L1360)
|
631
665
|
* :fallback_hosts_use_default is true
|
632
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
666
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#L1378)
|
667
|
+
* [does not use a fallback host if the connection connects on the default host and then later becomes disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#L1396)
|
633
668
|
* :fallback_hosts array is provided
|
634
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
669
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1424)
|
635
670
|
* with production environment
|
636
671
|
* when the Internet is down
|
637
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
672
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1460)
|
638
673
|
* when the Internet is up
|
639
674
|
* and default options
|
640
|
-
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#
|
641
|
-
* [uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt](./spec/acceptance/realtime/connection_failures_spec.rb#
|
675
|
+
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#L1483)
|
676
|
+
* [uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt](./spec/acceptance/realtime/connection_failures_spec.rb#L1502)
|
677
|
+
* [uses the correct host name for the WebSocket requests to the fallback hosts](./spec/acceptance/realtime/connection_failures_spec.rb#L1525)
|
642
678
|
* :fallback_hosts array is provided by an empty array
|
643
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
679
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1555)
|
644
680
|
* :fallback_hosts array is provided
|
645
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
681
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1575)
|
646
682
|
|
647
683
|
### Ably::Realtime::Connection
|
648
684
|
_(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/connection_spec.rb))_
|
@@ -672,186 +708,186 @@ _(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/c
|
|
672
708
|
* when connected with a valid non-expired token
|
673
709
|
* that then expires following the connection being opened
|
674
710
|
* the server
|
675
|
-
* [disconnects the client, and the client automatically renews the token and then reconnects](./spec/acceptance/realtime/connection_spec.rb#
|
711
|
+
* [disconnects the client, and the client automatically renews the token and then reconnects](./spec/acceptance/realtime/connection_spec.rb#L217)
|
676
712
|
* connection state
|
677
|
-
*
|
713
|
+
* [retains messages published when disconnected three times during authentication](./spec/acceptance/realtime/connection_spec.rb#L277)
|
678
714
|
* and subsequent token is invalid
|
679
|
-
* [transitions the connection to the failed state](./spec/acceptance/realtime/connection_spec.rb#
|
715
|
+
* [transitions the connection to the failed state](./spec/acceptance/realtime/connection_spec.rb#L312)
|
680
716
|
* for non-renewable tokens
|
681
717
|
* that are expired
|
682
718
|
* opening a new connection
|
683
|
-
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#
|
719
|
+
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#L342)
|
684
720
|
* when connected
|
685
|
-
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#
|
721
|
+
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#L358)
|
686
722
|
* with opaque token string that contain an implicit client_id
|
687
723
|
* string
|
688
|
-
* [sets the Client#client_id and Auth#client_id once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#
|
724
|
+
* [sets the Client#client_id and Auth#client_id once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#L378)
|
689
725
|
* that is incompatible with the current client client_id
|
690
|
-
* [fails the connection](./spec/acceptance/realtime/connection_spec.rb#
|
726
|
+
* [fails the connection](./spec/acceptance/realtime/connection_spec.rb#L390)
|
691
727
|
* wildcard
|
692
|
-
* [configures the Client#client_id and Auth#client_id with a wildcard once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#
|
728
|
+
* [configures the Client#client_id and Auth#client_id with a wildcard once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#L404)
|
693
729
|
* initialization state changes
|
694
730
|
* with implicit #connect
|
695
|
-
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#
|
731
|
+
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L436)
|
696
732
|
* with explicit #connect
|
697
|
-
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#
|
733
|
+
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L442)
|
698
734
|
* #connect
|
699
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
700
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
701
|
-
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#
|
735
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L450)
|
736
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L455)
|
737
|
+
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#L462)
|
702
738
|
* with invalid auth details
|
703
|
-
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#
|
739
|
+
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#L491)
|
704
740
|
* when already connected
|
705
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
741
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L507)
|
706
742
|
* connection#id
|
707
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
743
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L521)
|
708
744
|
* connection#key
|
709
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
745
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L528)
|
710
746
|
* once connected
|
711
747
|
* connection#id
|
712
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
713
|
-
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
714
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
748
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L539)
|
749
|
+
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#L546)
|
750
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L553)
|
715
751
|
* connection#key
|
716
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
717
|
-
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#
|
718
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
752
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L562)
|
753
|
+
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#L569)
|
754
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L576)
|
719
755
|
* following a previous connection being opened and closed
|
720
|
-
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#
|
756
|
+
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#L586)
|
721
757
|
* when closing
|
722
|
-
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#
|
758
|
+
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#L603)
|
723
759
|
* #serial connection serial
|
724
|
-
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#
|
725
|
-
* [is set to 0 when a message
|
726
|
-
* [is set to 1 when the second message
|
760
|
+
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#L620)
|
761
|
+
* [is set to 0 when a message is received back](./spec/acceptance/realtime/connection_spec.rb#L643)
|
762
|
+
* [is set to 1 when the second message is received](./spec/acceptance/realtime/connection_spec.rb#L651)
|
727
763
|
* when a message is sent but the ACK has not yet been received
|
728
|
-
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#
|
764
|
+
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#L628)
|
729
765
|
* #close
|
730
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
731
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
766
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L668)
|
767
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L675)
|
732
768
|
* when already closed
|
733
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
769
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L686)
|
734
770
|
* when connection state is
|
735
771
|
* :initialized
|
736
|
-
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#
|
772
|
+
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#L713)
|
737
773
|
* :connected
|
738
|
-
* [changes the connection state to :closing and waits for the server to confirm connection is :closed with a ProtocolMessage](./spec/acceptance/realtime/connection_spec.rb#
|
774
|
+
* [changes the connection state to :closing and waits for the server to confirm connection is :closed with a ProtocolMessage](./spec/acceptance/realtime/connection_spec.rb#L730)
|
739
775
|
* with an unresponsive connection
|
740
|
-
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#
|
776
|
+
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#L757)
|
741
777
|
* #ping
|
742
|
-
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#
|
743
|
-
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#
|
744
|
-
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#
|
778
|
+
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#L779)
|
779
|
+
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#L789)
|
780
|
+
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#L813)
|
745
781
|
* with incompatible states
|
746
782
|
* when not connected
|
747
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
783
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L826)
|
748
784
|
* when suspended
|
749
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
785
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L835)
|
750
786
|
* when failed
|
751
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
787
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L847)
|
752
788
|
* when closed
|
753
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
789
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L859)
|
754
790
|
* when it becomes closed
|
755
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
791
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L873)
|
756
792
|
* with a success block that raises an exception
|
757
|
-
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#
|
793
|
+
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#L886)
|
758
794
|
* when ping times out
|
759
|
-
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#
|
760
|
-
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#
|
795
|
+
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#L900)
|
796
|
+
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#L919)
|
761
797
|
* Heartbeats (#RTN23)
|
762
798
|
* heartbeat interval
|
763
799
|
* when reduced artificially
|
764
|
-
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
765
|
-
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
766
|
-
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
800
|
+
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L946)
|
801
|
+
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L956)
|
802
|
+
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L967)
|
767
803
|
* transport-level heartbeats are supported in the websocket transport
|
768
|
-
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#
|
769
|
-
*
|
804
|
+
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L982)
|
805
|
+
* [receives websocket heartbeat messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L991)
|
770
806
|
* with websocket heartbeats disabled (undocumented)
|
771
|
-
* [does not provide the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#
|
772
|
-
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#
|
807
|
+
* PENDING: *[does not provide the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L1007)*
|
808
|
+
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L1017)
|
773
809
|
* #details
|
774
|
-
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#
|
775
|
-
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
776
|
-
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
810
|
+
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#L1035)
|
811
|
+
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1042)
|
812
|
+
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1051)
|
777
813
|
* with a different default connection_state_ttl
|
778
|
-
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#
|
814
|
+
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#L1072)
|
779
815
|
* recovery
|
780
816
|
* #recovery_key
|
781
|
-
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#
|
782
|
-
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#
|
783
|
-
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#
|
817
|
+
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#L1109)
|
818
|
+
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#L1137)
|
819
|
+
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#L1166)
|
784
820
|
* opening a new connection using a recently disconnected connection's #recovery_key
|
785
|
-
* connection#id
|
786
|
-
* [remains the same
|
821
|
+
* connection#id after recovery
|
822
|
+
* [remains the same](./spec/acceptance/realtime/connection_spec.rb#L1178)
|
787
823
|
* when messages have been sent whilst the old connection is disconnected
|
788
824
|
* the new connection
|
789
|
-
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#
|
825
|
+
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#L1214)
|
790
826
|
* with :recover option
|
791
827
|
* with invalid syntax
|
792
|
-
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#
|
828
|
+
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#L1246)
|
793
829
|
* with invalid formatted value sent to server
|
794
|
-
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#
|
830
|
+
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#L1255)
|
795
831
|
* with expired (missing) value sent to server
|
796
|
-
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#
|
832
|
+
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#L1270)
|
797
833
|
* with many connections simultaneously
|
798
|
-
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
834
|
+
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#L1289)
|
799
835
|
* when a state transition is unsupported
|
800
|
-
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#
|
836
|
+
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#L1309)
|
801
837
|
* protocol failure
|
802
838
|
* receiving an invalid ProtocolMessage
|
803
|
-
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#
|
839
|
+
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#L1325)
|
804
840
|
* undocumented method
|
805
841
|
* #internet_up?
|
806
|
-
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
842
|
+
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1343)
|
807
843
|
* internet up URL protocol
|
808
844
|
* when using TLS for the connection
|
809
|
-
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
845
|
+
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1354)
|
810
846
|
* when using a non-secured connection
|
811
|
-
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
847
|
+
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1364)
|
812
848
|
* when the Internet is up
|
813
|
-
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#
|
814
|
-
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
849
|
+
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#L1395)
|
850
|
+
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1402)
|
815
851
|
* with a TLS connection
|
816
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
852
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1378)
|
817
853
|
* with a non-TLS connection
|
818
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
854
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1388)
|
819
855
|
* when the Internet is down
|
820
|
-
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#
|
821
|
-
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
856
|
+
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#L1417)
|
857
|
+
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1424)
|
822
858
|
* state change side effects
|
823
859
|
* when connection enters the :disconnected state
|
824
|
-
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#
|
860
|
+
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#L1438)
|
825
861
|
* when connection enters the :suspended state
|
826
|
-
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
862
|
+
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1471)
|
827
863
|
* when connection enters the :failed state
|
828
|
-
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
864
|
+
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1502)
|
829
865
|
* connection state change
|
830
|
-
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#
|
831
|
-
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#
|
866
|
+
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#L1516)
|
867
|
+
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#L1531)
|
832
868
|
* ConnectionStateChange object
|
833
|
-
* [has current state](./spec/acceptance/realtime/connection_spec.rb#
|
834
|
-
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#
|
835
|
-
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#
|
836
|
-
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#
|
869
|
+
* [has current state](./spec/acceptance/realtime/connection_spec.rb#L1539)
|
870
|
+
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#L1547)
|
871
|
+
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#L1555)
|
872
|
+
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#L1571)
|
837
873
|
* on failure
|
838
|
-
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#
|
874
|
+
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#L1584)
|
839
875
|
* retry_in
|
840
|
-
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#
|
841
|
-
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#
|
842
|
-
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#
|
843
|
-
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#
|
876
|
+
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#L1599)
|
877
|
+
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#L1606)
|
878
|
+
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#L1616)
|
879
|
+
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#L1626)
|
844
880
|
* whilst CONNECTED
|
845
881
|
* when a CONNECTED message is received (#RTN24)
|
846
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
847
|
-
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#
|
882
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1661)
|
883
|
+
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#L1676)
|
848
884
|
* when a CONNECTED message with an error is received
|
849
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
885
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1711)
|
850
886
|
* version params
|
851
|
-
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#
|
852
|
-
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#
|
887
|
+
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#L1732)
|
888
|
+
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#L1741)
|
853
889
|
* with variant
|
854
|
-
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#
|
890
|
+
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#L1761)
|
855
891
|
|
856
892
|
### Ably::Realtime::Channel Message
|
857
893
|
_(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/message_spec.rb))_
|
@@ -868,154 +904,154 @@ _(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/mess
|
|
868
904
|
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#L72)
|
869
905
|
* with supported extra payload content type (#RTL6h, #RSL6a2)
|
870
906
|
* JSON Object (Hash)
|
871
|
-
*
|
907
|
+
* [is encoded and decoded to the same hash](./spec/acceptance/realtime/message_spec.rb#L93)
|
872
908
|
* JSON Array
|
873
|
-
*
|
909
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#L102)
|
874
910
|
* nil
|
875
|
-
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#
|
911
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#L108)
|
876
912
|
* with unsupported data payload content type
|
877
913
|
* Integer
|
878
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#
|
914
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#L119)
|
879
915
|
* Float
|
880
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#
|
916
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#L128)
|
881
917
|
* Boolean
|
882
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#
|
918
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#L137)
|
883
919
|
* False
|
884
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#
|
920
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/realtime/message_spec.rb#L146)
|
885
921
|
* with ASCII_8BIT message name
|
886
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/message_spec.rb#
|
922
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/message_spec.rb#L155)
|
887
923
|
* when the message publisher has a client_id
|
888
|
-
* [contains a #client_id attribute](./spec/acceptance/realtime/message_spec.rb#
|
924
|
+
* [contains a #client_id attribute](./spec/acceptance/realtime/message_spec.rb#L171)
|
889
925
|
* #connection_id attribute
|
890
926
|
* over realtime
|
891
|
-
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#
|
927
|
+
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#L184)
|
892
928
|
* when retrieved over REST
|
893
|
-
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#
|
929
|
+
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#L196)
|
894
930
|
* local echo when published
|
895
|
-
* [is enabled by default](./spec/acceptance/realtime/message_spec.rb#
|
931
|
+
* [is enabled by default](./spec/acceptance/realtime/message_spec.rb#L208)
|
896
932
|
* with :echo_messages option set to false
|
897
|
-
* [will not echo messages to the client but will still broadcast messages to other connected clients](./spec/acceptance/realtime/message_spec.rb#
|
898
|
-
* [will not echo messages to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#
|
899
|
-
* [will echo messages with a valid connection_id to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#
|
933
|
+
* [will not echo messages to the client but will still broadcast messages to other connected clients](./spec/acceptance/realtime/message_spec.rb#L228)
|
934
|
+
* [will not echo messages to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#L247)
|
935
|
+
* [will echo messages with a valid connection_id to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#L260)
|
900
936
|
* publishing lots of messages across two connections
|
901
|
-
* [sends and receives the messages on both opened connections and calls the success callbacks for each message published](./spec/acceptance/realtime/message_spec.rb#
|
937
|
+
* [sends and receives the messages on both opened connections and calls the success callbacks for each message published](./spec/acceptance/realtime/message_spec.rb#L286)
|
902
938
|
* without suitable publishing permissions
|
903
|
-
* [calls the error callback](./spec/acceptance/realtime/message_spec.rb#
|
939
|
+
* [calls the error callback](./spec/acceptance/realtime/message_spec.rb#L331)
|
904
940
|
* server incorrectly resends a message that was already received by the client library
|
905
|
-
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#
|
941
|
+
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#L350)
|
906
942
|
* encoding and decoding encrypted messages
|
907
943
|
* with AES-128-CBC using crypto-data-128.json fixtures (#RTL7d)
|
908
944
|
* item 0 with encrypted encoding utf-8/cipher+aes-128-cbc/base64
|
909
945
|
* behaves like an Ably encrypter and decrypter
|
910
946
|
* with #publish and #subscribe
|
911
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
912
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
947
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
948
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
913
949
|
* item 1 with encrypted encoding cipher+aes-128-cbc/base64
|
914
950
|
* behaves like an Ably encrypter and decrypter
|
915
951
|
* with #publish and #subscribe
|
916
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
917
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
952
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
953
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
918
954
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
919
955
|
* behaves like an Ably encrypter and decrypter
|
920
956
|
* with #publish and #subscribe
|
921
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
922
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
957
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
958
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
923
959
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
924
960
|
* behaves like an Ably encrypter and decrypter
|
925
961
|
* with #publish and #subscribe
|
926
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
927
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
962
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
963
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
928
964
|
* with AES-256-CBC using crypto-data-256.json fixtures (#RTL7d)
|
929
965
|
* item 0 with encrypted encoding utf-8/cipher+aes-256-cbc/base64
|
930
966
|
* behaves like an Ably encrypter and decrypter
|
931
967
|
* with #publish and #subscribe
|
932
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
933
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
968
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
969
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
934
970
|
* item 1 with encrypted encoding cipher+aes-256-cbc/base64
|
935
971
|
* behaves like an Ably encrypter and decrypter
|
936
972
|
* with #publish and #subscribe
|
937
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
938
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
973
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
974
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
939
975
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
940
976
|
* behaves like an Ably encrypter and decrypter
|
941
977
|
* with #publish and #subscribe
|
942
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
943
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
978
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
979
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
944
980
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
945
981
|
* behaves like an Ably encrypter and decrypter
|
946
982
|
* with #publish and #subscribe
|
947
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
948
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
983
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L415)
|
984
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L433)
|
949
985
|
* with multiple sends from one client to another
|
950
|
-
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#
|
951
|
-
* [receives raw messages with the correct encoding](./spec/acceptance/realtime/message_spec.rb#
|
986
|
+
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#L472)
|
987
|
+
* [receives raw messages with the correct encoding](./spec/acceptance/realtime/message_spec.rb#L489)
|
952
988
|
* subscribing with a different transport protocol
|
953
|
-
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
954
|
-
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
955
|
-
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
989
|
+
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L523)
|
990
|
+
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L523)
|
991
|
+
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L523)
|
956
992
|
* publishing on an unencrypted channel and subscribing on an encrypted channel with another client
|
957
|
-
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#
|
993
|
+
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#L544)
|
958
994
|
* publishing on an encrypted channel and subscribing on an unencrypted channel with another client
|
959
|
-
* [delivers the message but still encrypted with a value in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
960
|
-
* [logs a Cipher error (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
995
|
+
* [delivers the message but still encrypted with a value in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L562)
|
996
|
+
* [logs a Cipher error (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L573)
|
961
997
|
* publishing on an encrypted channel and subscribing with a different algorithm on another client
|
962
|
-
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
963
|
-
* [emits a Cipher error on the channel (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
998
|
+
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L593)
|
999
|
+
* [emits a Cipher error on the channel (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L602)
|
964
1000
|
* publishing on an encrypted channel and subscribing with a different key on another client
|
965
|
-
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#
|
966
|
-
* [emits a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#
|
1001
|
+
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#L622)
|
1002
|
+
* [emits a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#L633)
|
967
1003
|
* when message is published, the connection disconnects before the ACK is received, and the connection is resumed
|
968
|
-
* [publishes the message again, later receives the ACK and only one message is ever received from Ably](./spec/acceptance/realtime/message_spec.rb#
|
1004
|
+
* [publishes the message again, later receives the ACK and only one message is ever received from Ably](./spec/acceptance/realtime/message_spec.rb#L652)
|
969
1005
|
* when message is published, the connection disconnects before the ACK is received
|
970
1006
|
* the connection is not resumed
|
971
|
-
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#
|
1007
|
+
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#L695)
|
972
1008
|
* the connection becomes suspended
|
973
|
-
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#
|
1009
|
+
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#L721)
|
974
1010
|
* the connection becomes failed
|
975
|
-
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#
|
1011
|
+
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#L748)
|
976
1012
|
* message encoding interoperability
|
977
1013
|
* over a JSON transport
|
978
1014
|
* when decoding string
|
979
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1015
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L789)
|
980
1016
|
* when encoding string
|
981
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1017
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L807)
|
982
1018
|
* when decoding string
|
983
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1019
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L789)
|
984
1020
|
* when encoding string
|
985
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1021
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L807)
|
986
1022
|
* when decoding jsonObject
|
987
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1023
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L789)
|
988
1024
|
* when encoding jsonObject
|
989
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1025
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L807)
|
990
1026
|
* when decoding jsonArray
|
991
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1027
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L789)
|
992
1028
|
* when encoding jsonArray
|
993
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1029
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L807)
|
994
1030
|
* when decoding binary
|
995
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1031
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L789)
|
996
1032
|
* when encoding binary
|
997
|
-
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#
|
1033
|
+
* [ensures that client libraries have compatible encoding and decoding using common fixtures](./spec/acceptance/realtime/message_spec.rb#L807)
|
998
1034
|
* over a MsgPack transport
|
999
1035
|
* when publishing a string using JSON protocol
|
1000
|
-
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#
|
1036
|
+
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#L841)
|
1001
1037
|
* when retrieving a string using JSON protocol
|
1002
|
-
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#
|
1038
|
+
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#L869)
|
1003
1039
|
* when publishing a string using JSON protocol
|
1004
|
-
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#
|
1040
|
+
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#L841)
|
1005
1041
|
* when retrieving a string using JSON protocol
|
1006
|
-
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#
|
1042
|
+
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#L869)
|
1007
1043
|
* when publishing a jsonObject using JSON protocol
|
1008
|
-
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#
|
1044
|
+
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#L841)
|
1009
1045
|
* when retrieving a jsonObject using JSON protocol
|
1010
|
-
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#
|
1046
|
+
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#L869)
|
1011
1047
|
* when publishing a jsonArray using JSON protocol
|
1012
|
-
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#
|
1048
|
+
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#L841)
|
1013
1049
|
* when retrieving a jsonArray using JSON protocol
|
1014
|
-
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#
|
1050
|
+
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#L869)
|
1015
1051
|
* when publishing a binary using JSON protocol
|
1016
|
-
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#
|
1052
|
+
* [receives the message over MsgPack and the data matches](./spec/acceptance/realtime/message_spec.rb#L841)
|
1017
1053
|
* when retrieving a binary using JSON protocol
|
1018
|
-
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#
|
1054
|
+
* [is compatible with a publishes using MsgPack](./spec/acceptance/realtime/message_spec.rb#L869)
|
1019
1055
|
|
1020
1056
|
### Ably::Realtime::Presence history
|
1021
1057
|
_(see [spec/acceptance/realtime/presence_history_spec.rb](./spec/acceptance/realtime/presence_history_spec.rb))_
|
@@ -1024,9 +1060,9 @@ _(see [spec/acceptance/realtime/presence_history_spec.rb](./spec/acceptance/real
|
|
1024
1060
|
* [ensures REST presence history message IDs match ProtocolMessage wrapped message and connection IDs via Realtime](./spec/acceptance/realtime/presence_history_spec.rb#L42)
|
1025
1061
|
* with option until_attach: true
|
1026
1062
|
* [retrieves all presence messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L61)
|
1027
|
-
* [fails with an exception unless state is attached](./spec/acceptance/realtime/presence_history_spec.rb#
|
1063
|
+
* [fails with an exception unless state is attached](./spec/acceptance/realtime/presence_history_spec.rb#L106)
|
1028
1064
|
* and two pages of messages
|
1029
|
-
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#
|
1065
|
+
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L81)
|
1030
1066
|
|
1031
1067
|
### Ably::Realtime::Presence
|
1032
1068
|
_(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/presence_spec.rb))_
|
@@ -1035,35 +1071,35 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1035
1071
|
* [maintains state as other clients enter and leave the channel (#RTP2e)](./spec/acceptance/realtime/presence_spec.rb#L479)
|
1036
1072
|
* #sync_complete? and SYNC flags (#RTP1)
|
1037
1073
|
* when attaching to a channel without any members present
|
1038
|
-
* [sync_complete? is true, there is no presence flag, and the presence channel is considered synced immediately (#RTP1)](./spec/acceptance/realtime/presence_spec.rb#
|
1074
|
+
* [sync_complete? is true, there is no presence flag, and the presence channel is considered synced immediately (#RTP1)](./spec/acceptance/realtime/presence_spec.rb#L708)
|
1039
1075
|
* when attaching to a channel with members present
|
1040
|
-
* [sync_complete? is false, there is a presence flag, and the presence channel is subsequently synced (#RTP1)](./spec/acceptance/realtime/presence_spec.rb#
|
1076
|
+
* [sync_complete? is false, there is a presence flag, and the presence channel is subsequently synced (#RTP1)](./spec/acceptance/realtime/presence_spec.rb#L729)
|
1041
1077
|
* 101 existing (present) members on a channel (2 SYNC pages)
|
1042
1078
|
* requiring at least 2 SYNC ProtocolMessages
|
1043
1079
|
* when a client attaches to the presence channel
|
1044
|
-
* [emits :present for each member](./spec/acceptance/realtime/presence_spec.rb#
|
1080
|
+
* [emits :present for each member](./spec/acceptance/realtime/presence_spec.rb#L781)
|
1045
1081
|
* and a member enters before the SYNC operation is complete
|
1046
|
-
* [emits a :enter immediately and the member is :present once the sync is complete (#RTP2g)](./spec/acceptance/realtime/presence_spec.rb#
|
1082
|
+
* [emits a :enter immediately and the member is :present once the sync is complete (#RTP2g)](./spec/acceptance/realtime/presence_spec.rb#L797)
|
1047
1083
|
* and a member leaves before the SYNC operation is complete
|
1048
|
-
* [emits :leave immediately as the member leaves and cleans up the ABSENT member after (#RTP2f, #RTP2g)](./spec/acceptance/realtime/presence_spec.rb#
|
1049
|
-
* [ignores presence events with timestamps / identifiers prior to the current :present event in the MembersMap (#RTP2c)](./spec/acceptance/realtime/presence_spec.rb#
|
1050
|
-
* [does not emit :present after the :leave event has been emitted, and that member is not included in the list of members via #get (#RTP2f)](./spec/acceptance/realtime/presence_spec.rb#
|
1084
|
+
* [emits :leave immediately as the member leaves and cleans up the ABSENT member after (#RTP2f, #RTP2g)](./spec/acceptance/realtime/presence_spec.rb#L834)
|
1085
|
+
* [ignores presence events with timestamps / identifiers prior to the current :present event in the MembersMap (#RTP2c)](./spec/acceptance/realtime/presence_spec.rb#L882)
|
1086
|
+
* [does not emit :present after the :leave event has been emitted, and that member is not included in the list of members via #get (#RTP2f)](./spec/acceptance/realtime/presence_spec.rb#L927)
|
1051
1087
|
* #get
|
1052
1088
|
* by default
|
1053
|
-
* [waits until sync is complete (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#
|
1089
|
+
* [waits until sync is complete (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#L977)
|
1054
1090
|
* with :wait_for_sync option set to false (#RTP11c1)
|
1055
|
-
* [it does not wait for sync](./spec/acceptance/realtime/presence_spec.rb#
|
1091
|
+
* [it does not wait for sync](./spec/acceptance/realtime/presence_spec.rb#L998)
|
1056
1092
|
* state
|
1057
1093
|
* once opened
|
1058
|
-
* [once opened, enters the :left state if the channel detaches](./spec/acceptance/realtime/presence_spec.rb#
|
1094
|
+
* [once opened, enters the :left state if the channel detaches](./spec/acceptance/realtime/presence_spec.rb#L1025)
|
1059
1095
|
* #enter
|
1060
1096
|
* data attribute
|
1061
1097
|
* when provided as argument option to #enter
|
1062
|
-
* [changes to value provided in #leave](./spec/acceptance/realtime/presence_spec.rb#
|
1098
|
+
* [changes to value provided in #leave](./spec/acceptance/realtime/presence_spec.rb#L1050)
|
1063
1099
|
* message #connection_id
|
1064
|
-
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#
|
1100
|
+
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#L1074)
|
1065
1101
|
* without necessary capabilities to join presence
|
1066
|
-
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#
|
1102
|
+
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#L1093)
|
1067
1103
|
* it should behave like a public presence method
|
1068
1104
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1069
1105
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1104,11 +1140,11 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1104
1140
|
* if connection fails before success
|
1105
1141
|
* [calls the Deferrable errback if channel is detached](./spec/acceptance/realtime/presence_spec.rb#L331)
|
1106
1142
|
* #update
|
1107
|
-
* [without previous #enter automatically enters](./spec/acceptance/realtime/presence_spec.rb#
|
1108
|
-
* [updates the data if :data argument provided](./spec/acceptance/realtime/presence_spec.rb#
|
1109
|
-
* [updates the data to nil if :data argument is not provided (assumes nil value)](./spec/acceptance/realtime/presence_spec.rb#
|
1143
|
+
* [without previous #enter automatically enters](./spec/acceptance/realtime/presence_spec.rb#L1105)
|
1144
|
+
* [updates the data if :data argument provided](./spec/acceptance/realtime/presence_spec.rb#L1130)
|
1145
|
+
* [updates the data to nil if :data argument is not provided (assumes nil value)](./spec/acceptance/realtime/presence_spec.rb#L1140)
|
1110
1146
|
* when ENTERED
|
1111
|
-
* [has no effect on the state](./spec/acceptance/realtime/presence_spec.rb#
|
1147
|
+
* [has no effect on the state](./spec/acceptance/realtime/presence_spec.rb#L1115)
|
1112
1148
|
* it should behave like a public presence method
|
1113
1149
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1114
1150
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1149,16 +1185,16 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1149
1185
|
* if connection fails before success
|
1150
1186
|
* [calls the Deferrable errback if channel is detached](./spec/acceptance/realtime/presence_spec.rb#L331)
|
1151
1187
|
* #leave
|
1152
|
-
* [
|
1188
|
+
* [succeeds and does not emit an event (#RTP10d)](./spec/acceptance/realtime/presence_spec.rb#L1224)
|
1153
1189
|
* :data option
|
1154
1190
|
* when set to a string
|
1155
|
-
* [emits the new data for the leave event](./spec/acceptance/realtime/presence_spec.rb#
|
1191
|
+
* [emits the new data for the leave event](./spec/acceptance/realtime/presence_spec.rb#L1159)
|
1156
1192
|
* when set to nil
|
1157
|
-
* [emits the last value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#
|
1193
|
+
* [emits the last value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#L1172)
|
1158
1194
|
* when not passed as an argument (i.e. nil)
|
1159
|
-
* [emits the previous value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#
|
1195
|
+
* [emits the previous value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#L1185)
|
1160
1196
|
* and sync is complete
|
1161
|
-
* [does not cache members that have left](./spec/acceptance/realtime/presence_spec.rb#
|
1197
|
+
* [does not cache members that have left](./spec/acceptance/realtime/presence_spec.rb#L1198)
|
1162
1198
|
* it should behave like a public presence method
|
1163
1199
|
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#L293)
|
1164
1200
|
* [allows a block to be passed in that is executed upon success](./spec/acceptance/realtime/presence_spec.rb#L300)
|
@@ -1185,17 +1221,17 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1185
1221
|
* if connection fails before success
|
1186
1222
|
* [calls the Deferrable errback if channel is detached](./spec/acceptance/realtime/presence_spec.rb#L331)
|
1187
1223
|
* :left event
|
1188
|
-
* [emits the data defined in enter](./spec/acceptance/realtime/presence_spec.rb#
|
1189
|
-
* [emits the data defined in update](./spec/acceptance/realtime/presence_spec.rb#
|
1224
|
+
* [emits the data defined in enter](./spec/acceptance/realtime/presence_spec.rb#L1240)
|
1225
|
+
* [emits the data defined in update](./spec/acceptance/realtime/presence_spec.rb#L1251)
|
1190
1226
|
* entering/updating/leaving presence state on behalf of another client_id
|
1191
1227
|
* #enter_client
|
1192
1228
|
* multiple times on the same channel with different client_ids
|
1193
|
-
* [has no affect on the client's presence state and only enters on behalf of the provided client_id](./spec/acceptance/realtime/presence_spec.rb#
|
1194
|
-
* [enters a channel and sets the data based on the provided :data option](./spec/acceptance/realtime/presence_spec.rb#
|
1229
|
+
* [has no affect on the client's presence state and only enters on behalf of the provided client_id](./spec/acceptance/realtime/presence_spec.rb#L1274)
|
1230
|
+
* [enters a channel and sets the data based on the provided :data option](./spec/acceptance/realtime/presence_spec.rb#L1288)
|
1195
1231
|
* message #connection_id
|
1196
|
-
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#
|
1232
|
+
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#L1307)
|
1197
1233
|
* without necessary capabilities to enter on behalf of another client
|
1198
|
-
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#
|
1234
|
+
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#L1327)
|
1199
1235
|
* it should behave like a public presence method
|
1200
1236
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1201
1237
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1267,9 +1303,9 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1267
1303
|
* [throws an exception](./spec/acceptance/realtime/presence_spec.rb#L470)
|
1268
1304
|
* #update_client
|
1269
1305
|
* multiple times on the same channel with different client_ids
|
1270
|
-
* [updates the data attribute for the member when :data option provided](./spec/acceptance/realtime/presence_spec.rb#
|
1271
|
-
* [updates the data attribute to null for the member when :data option is not provided (assumed null)](./spec/acceptance/realtime/presence_spec.rb#
|
1272
|
-
* [enters if not already entered](./spec/acceptance/realtime/presence_spec.rb#
|
1306
|
+
* [updates the data attribute for the member when :data option provided](./spec/acceptance/realtime/presence_spec.rb#L1341)
|
1307
|
+
* [updates the data attribute to null for the member when :data option is not provided (assumed null)](./spec/acceptance/realtime/presence_spec.rb#L1365)
|
1308
|
+
* [enters if not already entered](./spec/acceptance/realtime/presence_spec.rb#L1377)
|
1273
1309
|
* it should behave like a public presence method
|
1274
1310
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1275
1311
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1342,14 +1378,14 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1342
1378
|
* #leave_client
|
1343
1379
|
* leaves a channel
|
1344
1380
|
* multiple times on the same channel with different client_ids
|
1345
|
-
* [emits the :leave event for each client_id](./spec/acceptance/realtime/presence_spec.rb#
|
1346
|
-
* [succeeds if that client_id has not previously entered the channel](./spec/acceptance/realtime/presence_spec.rb#
|
1381
|
+
* [emits the :leave event for each client_id](./spec/acceptance/realtime/presence_spec.rb#L1407)
|
1382
|
+
* [succeeds if that client_id has not previously entered the channel](./spec/acceptance/realtime/presence_spec.rb#L1431)
|
1347
1383
|
* with a new value in :data option
|
1348
|
-
* [emits the leave event with the new data value](./spec/acceptance/realtime/presence_spec.rb#
|
1384
|
+
* [emits the leave event with the new data value](./spec/acceptance/realtime/presence_spec.rb#L1455)
|
1349
1385
|
* with a nil value in :data option
|
1350
|
-
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#
|
1386
|
+
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#L1468)
|
1351
1387
|
* with no :data option
|
1352
|
-
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#
|
1388
|
+
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#L1481)
|
1353
1389
|
* it should behave like a public presence method
|
1354
1390
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1355
1391
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1420,103 +1456,103 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1420
1456
|
* and an empty client_id
|
1421
1457
|
* [throws an exception](./spec/acceptance/realtime/presence_spec.rb#L470)
|
1422
1458
|
* #get
|
1423
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#
|
1424
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/presence_spec.rb#
|
1425
|
-
* [catches exceptions in the provided method block](./spec/acceptance/realtime/presence_spec.rb#
|
1426
|
-
* [implicitly attaches the channel (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1427
|
-
* [fails if the connection is DETACHED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1428
|
-
* [fails if the connection is FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1429
|
-
* [returns the current members on the channel (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#
|
1430
|
-
* [filters by connection_id option if provided (#RTP11c3)](./spec/acceptance/realtime/presence_spec.rb#
|
1431
|
-
* [filters by client_id option if provided (#RTP11c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1432
|
-
* [does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#
|
1433
|
-
* [returns the list of members and waits for SYNC to complete by default (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#
|
1459
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#L1500)
|
1460
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/presence_spec.rb#L1505)
|
1461
|
+
* [catches exceptions in the provided method block](./spec/acceptance/realtime/presence_spec.rb#L1512)
|
1462
|
+
* [implicitly attaches the channel (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1520)
|
1463
|
+
* [fails if the connection is DETACHED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1555)
|
1464
|
+
* [fails if the connection is FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1570)
|
1465
|
+
* [returns the current members on the channel (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#L1654)
|
1466
|
+
* [filters by connection_id option if provided (#RTP11c3)](./spec/acceptance/realtime/presence_spec.rb#L1671)
|
1467
|
+
* [filters by client_id option if provided (#RTP11c2)](./spec/acceptance/realtime/presence_spec.rb#L1693)
|
1468
|
+
* [does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#L1717)
|
1469
|
+
* [returns the list of members and waits for SYNC to complete by default (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#L1729)
|
1434
1470
|
* when the channel is SUSPENDED
|
1435
1471
|
* with wait_for_sync: true
|
1436
|
-
* [
|
1472
|
+
* [results in an error with @code@ @91005@ and a @message@ stating that the presence state is out of sync (#RTP11d)](./spec/acceptance/realtime/presence_spec.rb#L1530)
|
1437
1473
|
* with wait_for_sync: false
|
1438
|
-
* [returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)](./spec/acceptance/realtime/presence_spec.rb#
|
1474
|
+
* [returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)](./spec/acceptance/realtime/presence_spec.rb#L1543)
|
1439
1475
|
* during a sync
|
1440
1476
|
* when :wait_for_sync is true
|
1441
|
-
* [fails if the connection becomes FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1442
|
-
* [fails if the channel becomes detached (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1477
|
+
* [fails if the connection becomes FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1607)
|
1478
|
+
* [fails if the channel becomes detached (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1630)
|
1443
1479
|
* when a member enters and then leaves
|
1444
|
-
* [has no members](./spec/acceptance/realtime/presence_spec.rb#
|
1480
|
+
* [has no members](./spec/acceptance/realtime/presence_spec.rb#L1742)
|
1445
1481
|
* when a member enters and the presence map is updated
|
1446
|
-
* [adds the member as being :present (#RTP2d)](./spec/acceptance/realtime/presence_spec.rb#
|
1482
|
+
* [adds the member as being :present (#RTP2d)](./spec/acceptance/realtime/presence_spec.rb#L1757)
|
1447
1483
|
* with lots of members on different clients
|
1448
|
-
* [returns a complete list of members on all clients](./spec/acceptance/realtime/presence_spec.rb#
|
1484
|
+
* [returns a complete list of members on all clients](./spec/acceptance/realtime/presence_spec.rb#L1778)
|
1449
1485
|
* #subscribe
|
1450
|
-
* [implicitly attaches](./spec/acceptance/realtime/presence_spec.rb#
|
1486
|
+
* [implicitly attaches](./spec/acceptance/realtime/presence_spec.rb#L1853)
|
1451
1487
|
* with no arguments
|
1452
|
-
* [calls the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#
|
1488
|
+
* [calls the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#L1814)
|
1453
1489
|
* with event name
|
1454
|
-
* [calls the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#
|
1490
|
+
* [calls the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#L1834)
|
1455
1491
|
* with a callback that raises an exception
|
1456
|
-
* [logs the error and continues](./spec/acceptance/realtime/presence_spec.rb#
|
1492
|
+
* [logs the error and continues](./spec/acceptance/realtime/presence_spec.rb#L1866)
|
1457
1493
|
* #unsubscribe
|
1458
1494
|
* with no arguments
|
1459
|
-
* [removes the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#
|
1495
|
+
* [removes the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#L1887)
|
1460
1496
|
* with event name
|
1461
|
-
* [removes the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#
|
1497
|
+
* [removes the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#L1905)
|
1462
1498
|
* REST #get
|
1463
|
-
* [returns current members](./spec/acceptance/realtime/presence_spec.rb#
|
1464
|
-
* [returns no members once left](./spec/acceptance/realtime/presence_spec.rb#
|
1499
|
+
* [returns current members](./spec/acceptance/realtime/presence_spec.rb#L1924)
|
1500
|
+
* [returns no members once left](./spec/acceptance/realtime/presence_spec.rb#L1940)
|
1465
1501
|
* client_id with ASCII_8BIT
|
1466
1502
|
* in connection set up
|
1467
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#
|
1503
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#L1960)
|
1468
1504
|
* in channel options
|
1469
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#
|
1505
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#L1973)
|
1470
1506
|
* encoding and decoding of presence message data
|
1471
|
-
* [encrypts presence message data](./spec/acceptance/realtime/presence_spec.rb#
|
1507
|
+
* [encrypts presence message data](./spec/acceptance/realtime/presence_spec.rb#L1999)
|
1472
1508
|
* #subscribe
|
1473
|
-
* [emits decrypted enter events](./spec/acceptance/realtime/presence_spec.rb#
|
1474
|
-
* [emits decrypted update events](./spec/acceptance/realtime/presence_spec.rb#
|
1475
|
-
* [emits previously set data for leave events](./spec/acceptance/realtime/presence_spec.rb#
|
1509
|
+
* [emits decrypted enter events](./spec/acceptance/realtime/presence_spec.rb#L2018)
|
1510
|
+
* [emits decrypted update events](./spec/acceptance/realtime/presence_spec.rb#L2030)
|
1511
|
+
* [emits previously set data for leave events](./spec/acceptance/realtime/presence_spec.rb#L2044)
|
1476
1512
|
* #get
|
1477
|
-
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#
|
1513
|
+
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#L2060)
|
1478
1514
|
* REST #get
|
1479
|
-
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#
|
1515
|
+
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#L2074)
|
1480
1516
|
* when cipher settings do not match publisher
|
1481
|
-
* [delivers an unencoded presence message left with encoding value](./spec/acceptance/realtime/presence_spec.rb#
|
1482
|
-
* [emits an error when cipher does not match and presence data cannot be decoded](./spec/acceptance/realtime/presence_spec.rb#
|
1517
|
+
* [delivers an unencoded presence message left with encoding value](./spec/acceptance/realtime/presence_spec.rb#L2090)
|
1518
|
+
* [emits an error when cipher does not match and presence data cannot be decoded](./spec/acceptance/realtime/presence_spec.rb#L2103)
|
1483
1519
|
* leaving
|
1484
|
-
* [expect :left event once underlying connection is closed](./spec/acceptance/realtime/presence_spec.rb#
|
1485
|
-
* [expect :left event with client data from enter event](./spec/acceptance/realtime/presence_spec.rb#
|
1520
|
+
* [expect :left event once underlying connection is closed](./spec/acceptance/realtime/presence_spec.rb#L2119)
|
1521
|
+
* [expect :left event with client data from enter event](./spec/acceptance/realtime/presence_spec.rb#L2129)
|
1486
1522
|
* connection failure mid-way through a large member sync
|
1487
|
-
* [resumes the SYNC operation (#RTP3)](./spec/acceptance/realtime/presence_spec.rb#
|
1523
|
+
* [resumes the SYNC operation (#RTP3)](./spec/acceptance/realtime/presence_spec.rb#L2148)
|
1488
1524
|
* server-initiated sync
|
1489
1525
|
* with multiple SYNC pages
|
1490
|
-
* [is initiated with a SYNC message and completed with a later SYNC message with no cursor value part of the channelSerial (#RTP18a, #RTP18b) ](./spec/acceptance/realtime/presence_spec.rb#
|
1526
|
+
* [is initiated with a SYNC message and completed with a later SYNC message with no cursor value part of the channelSerial (#RTP18a, #RTP18b) ](./spec/acceptance/realtime/presence_spec.rb#L2186)
|
1491
1527
|
* with a single SYNC page
|
1492
|
-
* [is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) ](./spec/acceptance/realtime/presence_spec.rb#
|
1528
|
+
* [is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) ](./spec/acceptance/realtime/presence_spec.rb#L2237)
|
1493
1529
|
* when members exist in the PresenceMap before a SYNC completes
|
1494
|
-
* [removes the members that are no longer present (#RTP19)](./spec/acceptance/realtime/presence_spec.rb#
|
1530
|
+
* [removes the members that are no longer present (#RTP19)](./spec/acceptance/realtime/presence_spec.rb#L2285)
|
1495
1531
|
* when the client does not have presence subscribe privileges but is present on the channel
|
1496
|
-
* PENDING: *[receives presence updates for all presence events generated by the current connection and the presence map is kept up to date (#RTP17a)](./spec/acceptance/realtime/presence_spec.rb#
|
1532
|
+
* PENDING: *[receives presence updates for all presence events generated by the current connection and the presence map is kept up to date (#RTP17a)](./spec/acceptance/realtime/presence_spec.rb#L2343)*
|
1497
1533
|
* local PresenceMap for presence members entered by this client
|
1498
|
-
* [maintains a copy of the member map for any member that shares this connection's connection ID (#RTP17)](./spec/acceptance/realtime/presence_spec.rb#
|
1534
|
+
* [maintains a copy of the member map for any member that shares this connection's connection ID (#RTP17)](./spec/acceptance/realtime/presence_spec.rb#L2393)
|
1499
1535
|
* when a channel becomes attached again
|
1500
1536
|
* and the resume flag is true
|
1501
1537
|
* and the presence flag is false
|
1502
|
-
* [does not send any presence events as the PresenceMap is in sync (#RTP5c1)](./spec/acceptance/realtime/presence_spec.rb#
|
1538
|
+
* [does not send any presence events as the PresenceMap is in sync (#RTP5c1)](./spec/acceptance/realtime/presence_spec.rb#L2439)
|
1503
1539
|
* and the presence flag is true
|
1504
1540
|
* and following the SYNC all local MemberMap members are present in the PresenceMap
|
1505
|
-
* [does nothing as MemberMap is in sync (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1541
|
+
* [does nothing as MemberMap is in sync (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#L2469)
|
1506
1542
|
* and following the SYNC a local MemberMap member is not present in the PresenceMap
|
1507
|
-
* [re-enters the missing members automatically (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1543
|
+
* [re-enters the missing members automatically (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#L2508)
|
1508
1544
|
* and the resume flag is false
|
1509
1545
|
* and the presence flag is false
|
1510
|
-
* [immediately resends all local presence members (#RTP5c2, #RTP19a)](./spec/acceptance/realtime/presence_spec.rb#
|
1546
|
+
* [immediately resends all local presence members (#RTP5c2, #RTP19a)](./spec/acceptance/realtime/presence_spec.rb#L2591)
|
1511
1547
|
* when re-entering a client automatically, if the re-enter fails for any reason
|
1512
|
-
* [should emit an ErrorInfo with error code 91004 (#RTP5c3)](./spec/acceptance/realtime/presence_spec.rb#
|
1548
|
+
* [should emit an ErrorInfo with error code 91004 (#RTP5c3)](./spec/acceptance/realtime/presence_spec.rb#L2642)
|
1513
1549
|
* channel state side effects
|
1514
1550
|
* channel transitions to the FAILED state
|
1515
|
-
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#
|
1551
|
+
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#L2699)
|
1516
1552
|
* channel transitions to the DETACHED state
|
1517
|
-
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#
|
1553
|
+
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#L2726)
|
1518
1554
|
* channel transitions to the SUSPENDED state
|
1519
|
-
* [maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)](./spec/acceptance/realtime/presence_spec.rb#
|
1555
|
+
* [maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)](./spec/acceptance/realtime/presence_spec.rb#L2762)
|
1520
1556
|
|
1521
1557
|
### Ably::Realtime::Client#stats
|
1522
1558
|
_(see [spec/acceptance/realtime/stats_spec.rb](./spec/acceptance/realtime/stats_spec.rb))_
|
@@ -1600,7 +1636,7 @@ _(see [spec/acceptance/rest/auth_spec.rb](./spec/acceptance/rest/auth_spec.rb))_
|
|
1600
1636
|
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L451)
|
1601
1637
|
* [sets Client#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L455)
|
1602
1638
|
* that returns a TokenDetails JSON object
|
1603
|
-
* [calls the
|
1639
|
+
* [calls the lambda when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#L489)
|
1604
1640
|
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L494)
|
1605
1641
|
* when authorized
|
1606
1642
|
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L506)
|
@@ -1640,17 +1676,17 @@ _(see [spec/acceptance/rest/auth_spec.rb](./spec/acceptance/rest/auth_spec.rb))_
|
|
1640
1676
|
* with previous authorisation
|
1641
1677
|
* [requests a new token if token is expired](./spec/acceptance/rest/auth_spec.rb#L743)
|
1642
1678
|
* [issues a new token every time #authorize is called](./spec/acceptance/rest/auth_spec.rb#L749)
|
1643
|
-
* with a
|
1644
|
-
* [calls the
|
1679
|
+
* with a lambda for the :auth_callback option
|
1680
|
+
* [calls the lambda](./spec/acceptance/rest/auth_spec.rb#L776)
|
1645
1681
|
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L780)
|
1646
1682
|
* for every subsequent #request_token
|
1647
|
-
* without a :auth_callback
|
1683
|
+
* without a :auth_callback lambda
|
1648
1684
|
* [calls the originally provided block](./spec/acceptance/rest/auth_spec.rb#L786)
|
1649
1685
|
* with a provided block
|
1650
|
-
* [does not call the originally provided
|
1686
|
+
* [does not call the originally provided lambda and calls the new #request_token :auth_callback lambda](./spec/acceptance/rest/auth_spec.rb#L793)
|
1651
1687
|
* with an explicit token string that expires
|
1652
|
-
* and a
|
1653
|
-
* [calls the
|
1688
|
+
* and a lambda for the :auth_callback option to provide a means to renew the token
|
1689
|
+
* [calls the lambda once the token has expired and the new token is used](./spec/acceptance/rest/auth_spec.rb#L820)
|
1654
1690
|
* with an explicit ClientOptions client_id
|
1655
1691
|
* and an incompatible client_id in a TokenDetails object passed to the auth callback
|
1656
1692
|
* [rejects a TokenDetails object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#L838)
|
@@ -1662,82 +1698,90 @@ _(see [spec/acceptance/rest/auth_spec.rb](./spec/acceptance/rest/auth_spec.rb))_
|
|
1662
1698
|
* [returns a TokenRequest object](./spec/acceptance/rest/auth_spec.rb#L869)
|
1663
1699
|
* [returns a TokenRequest that can be passed to a client that can use it for authentication without an API key](./spec/acceptance/rest/auth_spec.rb#L873)
|
1664
1700
|
* [uses the key name from the client](./spec/acceptance/rest/auth_spec.rb#L880)
|
1665
|
-
* [
|
1666
|
-
* [
|
1701
|
+
* [specifies no TTL (#RSA5)](./spec/acceptance/rest/auth_spec.rb#L884)
|
1702
|
+
* [specifies no capability (#RSA6)](./spec/acceptance/rest/auth_spec.rb#L898)
|
1667
1703
|
* with a :ttl option below the Token expiry buffer that ensures tokens are renewed 15s before they expire as they are considered expired
|
1668
|
-
* [uses the Token expiry buffer default + 10s to allow for a token request in flight](./spec/acceptance/rest/auth_spec.rb#
|
1704
|
+
* [uses the Token expiry buffer default + 10s to allow for a token request in flight](./spec/acceptance/rest/auth_spec.rb#L892)
|
1669
1705
|
* the nonce
|
1670
|
-
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#
|
1671
|
-
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#
|
1706
|
+
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#L903)
|
1707
|
+
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#L908)
|
1672
1708
|
* with token param :ttl
|
1673
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1709
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L919)
|
1674
1710
|
* with token param :nonce
|
1675
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1711
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L919)
|
1676
1712
|
* with token param :client_id
|
1677
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1713
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L919)
|
1678
1714
|
* when specifying capability
|
1679
|
-
* [overrides the default](./spec/acceptance/rest/auth_spec.rb#
|
1680
|
-
* [uses these capabilities when Ably issues an actual token](./spec/acceptance/rest/auth_spec.rb#
|
1715
|
+
* [overrides the default](./spec/acceptance/rest/auth_spec.rb#L930)
|
1716
|
+
* [uses these capabilities when Ably issues an actual token](./spec/acceptance/rest/auth_spec.rb#L934)
|
1681
1717
|
* with additional invalid attributes
|
1682
|
-
* [are ignored](./spec/acceptance/rest/auth_spec.rb#
|
1718
|
+
* [are ignored](./spec/acceptance/rest/auth_spec.rb#L944)
|
1683
1719
|
* when required fields are missing
|
1684
|
-
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#
|
1685
|
-
* [should raise an exception if key name is missing](./spec/acceptance/rest/auth_spec.rb#
|
1720
|
+
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#L955)
|
1721
|
+
* [should raise an exception if key name is missing](./spec/acceptance/rest/auth_spec.rb#L959)
|
1686
1722
|
* timestamp attribute
|
1687
|
-
* [is a Time object in Ruby and is set to the local time](./spec/acceptance/rest/auth_spec.rb#
|
1723
|
+
* [is a Time object in Ruby and is set to the local time](./spec/acceptance/rest/auth_spec.rb#L986)
|
1688
1724
|
* with :query_time auth_option
|
1689
|
-
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#
|
1725
|
+
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#L971)
|
1690
1726
|
* with :timestamp option
|
1691
|
-
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#
|
1727
|
+
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#L981)
|
1692
1728
|
* signing
|
1693
|
-
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#
|
1729
|
+
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#L1010)
|
1694
1730
|
* lexicographic ordering of channels and operations
|
1695
|
-
* [HMAC is lexicographic ordered and thus the HMAC is identical](./spec/acceptance/rest/auth_spec.rb#
|
1696
|
-
* [is valid when used for authentication](./spec/acceptance/rest/auth_spec.rb#
|
1731
|
+
* [HMAC is lexicographic ordered and thus the HMAC is identical](./spec/acceptance/rest/auth_spec.rb#L1037)
|
1732
|
+
* [is valid when used for authentication](./spec/acceptance/rest/auth_spec.rb#L1043)
|
1697
1733
|
* using token authentication
|
1698
1734
|
* with :token option
|
1699
|
-
* [authenticates successfully using the provided :token](./spec/acceptance/rest/auth_spec.rb#
|
1700
|
-
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#
|
1701
|
-
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#
|
1702
|
-
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#
|
1735
|
+
* [authenticates successfully using the provided :token](./spec/acceptance/rest/auth_spec.rb#L1070)
|
1736
|
+
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#L1074)
|
1737
|
+
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#L1082)
|
1738
|
+
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#L1090)
|
1703
1739
|
* and the token expires
|
1704
|
-
* [should indicate an error and not retry the request (#RSA4a)](./spec/acceptance/rest/auth_spec.rb#
|
1740
|
+
* [should indicate an error and not retry the request (#RSA4a)](./spec/acceptance/rest/auth_spec.rb#L1124)
|
1705
1741
|
* when implicit as a result of using :client_id
|
1706
1742
|
* and requests to the Ably server are mocked
|
1707
|
-
* [will send a token request to the server](./spec/acceptance/rest/auth_spec.rb#
|
1743
|
+
* [will send a token request to the server](./spec/acceptance/rest/auth_spec.rb#L1154)
|
1708
1744
|
* a token is created
|
1709
|
-
* [before a request is made](./spec/acceptance/rest/auth_spec.rb#
|
1710
|
-
* [when a message is published](./spec/acceptance/rest/auth_spec.rb#
|
1711
|
-
* [with capability and TTL defaults](./spec/acceptance/rest/auth_spec.rb#
|
1712
|
-
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#
|
1745
|
+
* [before a request is made](./spec/acceptance/rest/auth_spec.rb#L1163)
|
1746
|
+
* [when a message is published](./spec/acceptance/rest/auth_spec.rb#L1167)
|
1747
|
+
* [with capability and TTL defaults (#TK2a, #TK2b)](./spec/acceptance/rest/auth_spec.rb#L1171)
|
1748
|
+
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#L1182)
|
1713
1749
|
* when token expires
|
1714
|
-
* [automatically renews the token (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#
|
1715
|
-
* [fails if the token renewal fails (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#
|
1750
|
+
* [automatically renews the token (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#L1211)
|
1751
|
+
* [fails if the token renewal fails (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#L1221)
|
1716
1752
|
* when :client_id is provided in a token
|
1717
|
-
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#
|
1753
|
+
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#L1245)
|
1718
1754
|
* #client_id_validated?
|
1719
1755
|
* when using basic auth
|
1720
|
-
* [is false as basic auth users do not have an identity](./spec/acceptance/rest/auth_spec.rb#
|
1756
|
+
* [is false as basic auth users do not have an identity](./spec/acceptance/rest/auth_spec.rb#L1257)
|
1721
1757
|
* when using a token auth string for a token with a client_id
|
1722
|
-
* [is false as identification is not possible from an opaque token string](./spec/acceptance/rest/auth_spec.rb#
|
1758
|
+
* [is false as identification is not possible from an opaque token string](./spec/acceptance/rest/auth_spec.rb#L1265)
|
1723
1759
|
* when using a token
|
1724
1760
|
* with a client_id
|
1725
|
-
* [is true](./spec/acceptance/rest/auth_spec.rb#
|
1761
|
+
* [is true](./spec/acceptance/rest/auth_spec.rb#L1274)
|
1726
1762
|
* with no client_id (anonymous)
|
1727
|
-
* [is true](./spec/acceptance/rest/auth_spec.rb#
|
1763
|
+
* [is true](./spec/acceptance/rest/auth_spec.rb#L1282)
|
1728
1764
|
* with a wildcard client_id (anonymous)
|
1729
|
-
* [is false](./spec/acceptance/rest/auth_spec.rb#
|
1765
|
+
* [is false](./spec/acceptance/rest/auth_spec.rb#L1290)
|
1730
1766
|
* when using a token request with a client_id
|
1731
|
-
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/rest/auth_spec.rb#
|
1767
|
+
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/rest/auth_spec.rb#L1299)
|
1732
1768
|
* after authentication
|
1733
|
-
* [is true as identification is completed during implicit authentication](./spec/acceptance/rest/auth_spec.rb#
|
1769
|
+
* [is true as identification is completed during implicit authentication](./spec/acceptance/rest/auth_spec.rb#L1306)
|
1734
1770
|
* when using a :key and basic auth
|
1735
|
-
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#
|
1736
|
-
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#
|
1737
|
-
* [#using_basic_auth? is true](./spec/acceptance/rest/auth_spec.rb#
|
1771
|
+
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#L1314)
|
1772
|
+
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#L1318)
|
1773
|
+
* [#using_basic_auth? is true](./spec/acceptance/rest/auth_spec.rb#L1322)
|
1738
1774
|
* deprecated #authorise
|
1739
|
-
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#
|
1740
|
-
* [returns a valid token (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#
|
1775
|
+
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#L1331)
|
1776
|
+
* [returns a valid token (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#L1336)
|
1777
|
+
* when using JWT
|
1778
|
+
* [authenticates correctly using the JWT token generated by the echo server](./spec/acceptance/rest/auth_spec.rb#L1348)
|
1779
|
+
* when the JWT embeds an Ably token
|
1780
|
+
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#L1355)
|
1781
|
+
* and the requested token is encrypted
|
1782
|
+
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#L1362)
|
1783
|
+
* when the token requested is returned with application/jwt content type
|
1784
|
+
* [authenticates correctly and pulls stats](./spec/acceptance/rest/auth_spec.rb#L1373)
|
1741
1785
|
|
1742
1786
|
### Ably::Rest
|
1743
1787
|
_(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
@@ -1822,34 +1866,37 @@ _(see [spec/acceptance/rest/channel_spec.rb](./spec/acceptance/rest/channel_spec
|
|
1822
1866
|
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L244)
|
1823
1867
|
* with an empty client_id in the message
|
1824
1868
|
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L250)
|
1869
|
+
* with a non ASCII channel name
|
1870
|
+
* stubbed
|
1871
|
+
* [correctly encodes the channel name](./spec/acceptance/rest/channel_spec.rb#L272)
|
1825
1872
|
* #history
|
1826
|
-
* [returns a PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#
|
1827
|
-
* [returns the current message history for the channel](./spec/acceptance/rest/channel_spec.rb#
|
1828
|
-
* [returns paged history using the PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#
|
1873
|
+
* [returns a PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#L297)
|
1874
|
+
* [returns the current message history for the channel](./spec/acceptance/rest/channel_spec.rb#L301)
|
1875
|
+
* [returns paged history using the PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#L329)
|
1829
1876
|
* message timestamps
|
1830
|
-
* [are after the messages were published](./spec/acceptance/rest/channel_spec.rb#
|
1877
|
+
* [are after the messages were published](./spec/acceptance/rest/channel_spec.rb#L314)
|
1831
1878
|
* message IDs
|
1832
|
-
* [is unique](./spec/acceptance/rest/channel_spec.rb#
|
1879
|
+
* [is unique](./spec/acceptance/rest/channel_spec.rb#L322)
|
1833
1880
|
* direction
|
1834
|
-
* [returns paged history backwards by default](./spec/acceptance/rest/channel_spec.rb#
|
1835
|
-
* [returns history forward if specified in the options](./spec/acceptance/rest/channel_spec.rb#
|
1881
|
+
* [returns paged history backwards by default](./spec/acceptance/rest/channel_spec.rb#L356)
|
1882
|
+
* [returns history forward if specified in the options](./spec/acceptance/rest/channel_spec.rb#L362)
|
1836
1883
|
* limit
|
1837
|
-
* [defaults to 100](./spec/acceptance/rest/channel_spec.rb#
|
1884
|
+
* [defaults to 100](./spec/acceptance/rest/channel_spec.rb#L374)
|
1838
1885
|
* #history option
|
1839
1886
|
* :start
|
1840
1887
|
* with milliseconds since epoch value
|
1841
|
-
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#
|
1888
|
+
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#L414)
|
1842
1889
|
* with a Time object value
|
1843
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#
|
1890
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#L424)
|
1844
1891
|
* :end
|
1845
1892
|
* with milliseconds since epoch value
|
1846
|
-
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#
|
1893
|
+
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#L414)
|
1847
1894
|
* with a Time object value
|
1848
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#
|
1895
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#L424)
|
1849
1896
|
* when argument start is after end
|
1850
|
-
* [should raise an exception](./spec/acceptance/rest/channel_spec.rb#
|
1897
|
+
* [should raise an exception](./spec/acceptance/rest/channel_spec.rb#L434)
|
1851
1898
|
* #presence
|
1852
|
-
* [returns a REST Presence object](./spec/acceptance/rest/channel_spec.rb#
|
1899
|
+
* [returns a REST Presence object](./spec/acceptance/rest/channel_spec.rb#L444)
|
1853
1900
|
|
1854
1901
|
### Ably::Rest::Channels
|
1855
1902
|
_(see [spec/acceptance/rest/channels_spec.rb](./spec/acceptance/rest/channels_spec.rb))_
|
@@ -1887,12 +1934,12 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
1887
1934
|
* [raises an ArgumentError](./spec/acceptance/rest/client_spec.rb#L57)
|
1888
1935
|
* with an invalid wildcard "*" :client_id
|
1889
1936
|
* [raises an exception](./spec/acceptance/rest/client_spec.rb#L63)
|
1890
|
-
* with an :auth_callback
|
1891
|
-
* [calls the auth
|
1937
|
+
* with an :auth_callback lambda
|
1938
|
+
* [calls the auth lambda to get a new token](./spec/acceptance/rest/client_spec.rb#L71)
|
1892
1939
|
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L76)
|
1893
1940
|
* with :default_token_params
|
1894
1941
|
* [overides the default token params (#TO3j11)](./spec/acceptance/rest/client_spec.rb#L90)
|
1895
|
-
* with an :auth_callback
|
1942
|
+
* with an :auth_callback lambda (clientId provided in library options instead of as a token_request param)
|
1896
1943
|
* [correctly sets the clientId on the token](./spec/acceptance/rest/client_spec.rb#L100)
|
1897
1944
|
* with an auth URL
|
1898
1945
|
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L110)
|
@@ -1917,17 +1964,17 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
1917
1964
|
* defaults
|
1918
1965
|
* for default host
|
1919
1966
|
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L244)
|
1920
|
-
* [is configured to timeout connection requests in
|
1967
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L248)
|
1921
1968
|
* for the fallback hosts
|
1922
1969
|
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L254)
|
1923
|
-
* [is configured to timeout connection requests in
|
1970
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L258)
|
1924
1971
|
* with custom http_open_timeout and http_request_timeout options
|
1925
1972
|
* for default host
|
1926
1973
|
* [is configured to use custom open timeout](./spec/acceptance/rest/client_spec.rb#L270)
|
1927
1974
|
* [is configured to use custom request timeout](./spec/acceptance/rest/client_spec.rb#L274)
|
1928
1975
|
* for the fallback hosts
|
1929
1976
|
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L280)
|
1930
|
-
* [is configured to timeout connection requests in
|
1977
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L284)
|
1931
1978
|
* fallback hosts
|
1932
1979
|
* configured
|
1933
1980
|
* [should make connection attempts to A.ably-realtime.com, B.ably-realtime.com, C.ably-realtime.com, D.ably-realtime.com, E.ably-realtime.com (#RSC15a)](./spec/acceptance/rest/client_spec.rb#L298)
|
@@ -1936,7 +1983,7 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
1936
1983
|
* when environment is production
|
1937
1984
|
* and connection times out
|
1938
1985
|
* [tries fallback hosts 3 times (#RSC15b, #RSC15b)](./spec/acceptance/rest/client_spec.rb#L354)
|
1939
|
-
* and the total request time exeeds
|
1986
|
+
* and the total request time exeeds 15 seconds
|
1940
1987
|
* [makes no further attempts to any fallback hosts](./spec/acceptance/rest/client_spec.rb#L369)
|
1941
1988
|
* and connection fails
|
1942
1989
|
* [tries fallback hosts 3 times](./spec/acceptance/rest/client_spec.rb#L385)
|
@@ -1953,55 +2000,86 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
1953
2000
|
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L530)
|
1954
2001
|
* using a local web-server
|
1955
2002
|
* and timing out the primary host
|
1956
|
-
* with request timeout less than max_retry_duration
|
1957
|
-
* [tries
|
1958
|
-
* with request timeout less than max_retry_duration
|
1959
|
-
* [tries
|
2003
|
+
* POST with request timeout less than max_retry_duration
|
2004
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L594)
|
2005
|
+
* GET with request timeout less than max_retry_duration
|
2006
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L617)
|
2007
|
+
* POST with request timeout more than max_retry_duration
|
2008
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L640)
|
2009
|
+
* GET with request timeout more than max_retry_duration
|
2010
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L662)
|
1960
2011
|
* and failing the primary host
|
1961
|
-
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#
|
2012
|
+
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#L707)
|
1962
2013
|
* when environment is not production and server returns a 50x error
|
1963
2014
|
* with custom fallback hosts provided (#RSC15b, #TO3k6)
|
1964
|
-
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2015
|
+
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#L757)
|
1965
2016
|
* with an empty array of fallback hosts provided (#RSC15b, #TO3k6)
|
1966
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2017
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L770)
|
1967
2018
|
* with fallback_hosts_use_default: true (#RSC15b, #TO3k7)
|
1968
|
-
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2019
|
+
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L795)
|
1969
2020
|
* with a custom host
|
1970
2021
|
* that does not exist
|
1971
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2022
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L811)
|
1972
2023
|
* fallback hosts
|
1973
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2024
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L832)
|
1974
2025
|
* that times out
|
1975
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2026
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L847)
|
1976
2027
|
* fallback hosts
|
1977
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2028
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L860)
|
1978
2029
|
* HTTP configuration options
|
1979
|
-
* [is frozen](./spec/acceptance/rest/client_spec.rb#
|
2030
|
+
* [is frozen](./spec/acceptance/rest/client_spec.rb#L917)
|
1980
2031
|
* defaults
|
1981
|
-
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#
|
1982
|
-
* [#http_request_timeout is
|
1983
|
-
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#
|
1984
|
-
* [#http_max_retry_duration is
|
2032
|
+
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#L872)
|
2033
|
+
* [#http_request_timeout is 10s](./spec/acceptance/rest/client_spec.rb#L876)
|
2034
|
+
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#L880)
|
2035
|
+
* [#http_max_retry_duration is 15s](./spec/acceptance/rest/client_spec.rb#L884)
|
1985
2036
|
* configured
|
1986
|
-
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
1987
|
-
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
1988
|
-
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#
|
1989
|
-
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2037
|
+
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L900)
|
2038
|
+
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L904)
|
2039
|
+
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#L908)
|
2040
|
+
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#L912)
|
1990
2041
|
* #auth
|
1991
|
-
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#
|
1992
|
-
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#
|
2042
|
+
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#L928)
|
2043
|
+
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#L932)
|
1993
2044
|
* version headers
|
1994
2045
|
* with variant none
|
1995
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2046
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L966)
|
1996
2047
|
* with variant foo
|
1997
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2048
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L966)
|
1998
2049
|
* #request (#RSC19*)
|
1999
2050
|
* get
|
2000
|
-
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#
|
2051
|
+
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#L979)
|
2001
2052
|
* 404 request to invalid URL
|
2002
|
-
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#
|
2053
|
+
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#L986)
|
2003
2054
|
* paged results
|
2004
|
-
* [provides paging](./spec/acceptance/rest/client_spec.rb#
|
2055
|
+
* [provides paging](./spec/acceptance/rest/client_spec.rb#L998)
|
2056
|
+
* request_id generation
|
2057
|
+
* Timeout error
|
2058
|
+
* with option add_request_ids: true
|
2059
|
+
* [has an error with the same request_id of the request](./spec/acceptance/rest/client_spec.rb#L1033)
|
2060
|
+
* with option add_request_ids: true and REST operations with a message body
|
2061
|
+
* with mocks to inspect the params
|
2062
|
+
* with a single publish
|
2063
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1055)
|
2064
|
+
* with an array publish
|
2065
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1062)
|
2066
|
+
* without mocks to ensure the requests are accepted
|
2067
|
+
* with a single publish
|
2068
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1071)
|
2069
|
+
* with an array publish
|
2070
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1078)
|
2071
|
+
* option add_request_ids: true and specified fallback hosts
|
2072
|
+
* [request_id is the same across retries](./spec/acceptance/rest/client_spec.rb#L1103)
|
2073
|
+
* without request_id
|
2074
|
+
* [does not include request_id in ConnectionTimeout error](./spec/acceptance/rest/client_spec.rb#L1115)
|
2075
|
+
* UnauthorizedRequest nonce error
|
2076
|
+
* [includes request_id in UnauthorizedRequest error due to replayed nonce](./spec/acceptance/rest/client_spec.rb#L1128)
|
2077
|
+
* failed request logging
|
2078
|
+
* [is absent when requests do not fail](./spec/acceptance/rest/client_spec.rb#L1145)
|
2079
|
+
* with the first request failing
|
2080
|
+
* [is present with success message when requests do not actually fail](./spec/acceptance/rest/client_spec.rb#L1159)
|
2081
|
+
* with all requests failing
|
2082
|
+
* [is present when all requests fail](./spec/acceptance/rest/client_spec.rb#L1175)
|
2005
2083
|
|
2006
2084
|
### Ably::Models::MessageEncoders
|
2007
2085
|
_(see [spec/acceptance/rest/encoders_spec.rb](./spec/acceptance/rest/encoders_spec.rb))_
|
@@ -2052,73 +2130,73 @@ _(see [spec/acceptance/rest/message_spec.rb](./spec/acceptance/rest/message_spec
|
|
2052
2130
|
* [is encoded and decoded to the same Array](./spec/acceptance/rest/message_spec.rb#L57)
|
2053
2131
|
* with supported extra payload content type (#RSL1h, #RSL6a2)
|
2054
2132
|
* JSON Object (Hash)
|
2055
|
-
*
|
2133
|
+
* [is encoded and decoded to the same hash](./spec/acceptance/rest/message_spec.rb#L70)
|
2056
2134
|
* JSON Array
|
2057
|
-
*
|
2135
|
+
* [is encoded and decoded to the same deep multi-type object](./spec/acceptance/rest/message_spec.rb#L80)
|
2058
2136
|
* nil
|
2059
|
-
* [is encoded and decoded to the same Array](./spec/acceptance/rest/message_spec.rb#
|
2137
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/rest/message_spec.rb#L87)
|
2060
2138
|
* with unsupported data payload content type
|
2061
2139
|
* Integer
|
2062
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#
|
2140
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#L98)
|
2063
2141
|
* Float
|
2064
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#
|
2142
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#L106)
|
2065
2143
|
* Boolean
|
2066
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#
|
2144
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#L114)
|
2067
2145
|
* False
|
2068
|
-
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#
|
2146
|
+
* [is raises an UnsupportedDataType 40011 exception](./spec/acceptance/rest/message_spec.rb#L122)
|
2069
2147
|
* encryption and encoding
|
2070
2148
|
* with #publish and #history
|
2071
2149
|
* with AES-128-CBC using crypto-data-128.json fixtures (#RTL7d)
|
2072
2150
|
* item 0 with encrypted encoding utf-8/cipher+aes-128-cbc/base64
|
2073
2151
|
* behaves like an Ably encrypter and decrypter
|
2074
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2075
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2152
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2153
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2076
2154
|
* item 1 with encrypted encoding cipher+aes-128-cbc/base64
|
2077
2155
|
* behaves like an Ably encrypter and decrypter
|
2078
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2079
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2156
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2157
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2080
2158
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
2081
2159
|
* behaves like an Ably encrypter and decrypter
|
2082
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2083
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2160
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2161
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2084
2162
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
2085
2163
|
* behaves like an Ably encrypter and decrypter
|
2086
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2087
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2164
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2165
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2088
2166
|
* with AES-256-CBC using crypto-data-256.json fixtures (#RTL7d)
|
2089
2167
|
* item 0 with encrypted encoding utf-8/cipher+aes-256-cbc/base64
|
2090
2168
|
* behaves like an Ably encrypter and decrypter
|
2091
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2092
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2169
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2170
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2093
2171
|
* item 1 with encrypted encoding cipher+aes-256-cbc/base64
|
2094
2172
|
* behaves like an Ably encrypter and decrypter
|
2095
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2096
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2173
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2174
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2097
2175
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
2098
2176
|
* behaves like an Ably encrypter and decrypter
|
2099
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2100
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2177
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2178
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2101
2179
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
2102
2180
|
* behaves like an Ably encrypter and decrypter
|
2103
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2104
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2181
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L167)
|
2182
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L182)
|
2105
2183
|
* when publishing lots of messages
|
2106
|
-
* [encrypts on #publish and decrypts on #history](./spec/acceptance/rest/message_spec.rb#
|
2184
|
+
* [encrypts on #publish and decrypts on #history](./spec/acceptance/rest/message_spec.rb#L215)
|
2107
2185
|
* when retrieving #history with a different protocol
|
2108
|
-
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2109
|
-
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2110
|
-
* [delivers a Hash payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2186
|
+
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/rest/message_spec.rb#L242)
|
2187
|
+
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/rest/message_spec.rb#L242)
|
2188
|
+
* [delivers a Hash payload to the receiver](./spec/acceptance/rest/message_spec.rb#L242)
|
2111
2189
|
* when publishing on an unencrypted channel and retrieving with #history on an encrypted channel
|
2112
|
-
* [does not attempt to decrypt the message](./spec/acceptance/rest/message_spec.rb#
|
2190
|
+
* [does not attempt to decrypt the message](./spec/acceptance/rest/message_spec.rb#L258)
|
2113
2191
|
* when publishing on an encrypted channel and retrieving with #history on an unencrypted channel
|
2114
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2115
|
-
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2192
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L279)
|
2193
|
+
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L285)
|
2116
2194
|
* publishing on an encrypted channel and retrieving #history with a different algorithm on another client (#RTL7e)
|
2117
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2118
|
-
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2195
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L306)
|
2196
|
+
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L312)
|
2119
2197
|
* publishing on an encrypted channel and subscribing with a different key on another client
|
2120
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute](./spec/acceptance/rest/message_spec.rb#
|
2121
|
-
* [logs a Cipher exception](./spec/acceptance/rest/message_spec.rb#
|
2198
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute](./spec/acceptance/rest/message_spec.rb#L333)
|
2199
|
+
* [logs a Cipher exception](./spec/acceptance/rest/message_spec.rb#L339)
|
2122
2200
|
|
2123
2201
|
### Ably::Rest::Presence
|
2124
2202
|
_(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_spec.rb))_
|
@@ -2135,54 +2213,57 @@ _(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_sp
|
|
2135
2213
|
* with :connection_id option
|
2136
2214
|
* [returns a list members filtered by the provided connection ID](./spec/acceptance/rest/presence_spec.rb#L106)
|
2137
2215
|
* [returns a list members filtered by the provided connection ID](./spec/acceptance/rest/presence_spec.rb#L110)
|
2216
|
+
* with a non ASCII channel name
|
2217
|
+
* stubbed
|
2218
|
+
* [correctly encodes the channel name](./spec/acceptance/rest/presence_spec.rb#L127)
|
2138
2219
|
* #history
|
2139
|
-
* [returns recent presence activity](./spec/acceptance/rest/presence_spec.rb#
|
2220
|
+
* [returns recent presence activity](./spec/acceptance/rest/presence_spec.rb#L138)
|
2140
2221
|
* default behaviour
|
2141
|
-
* [uses backwards direction](./spec/acceptance/rest/presence_spec.rb#
|
2222
|
+
* [uses backwards direction](./spec/acceptance/rest/presence_spec.rb#L153)
|
2142
2223
|
* with options
|
2143
2224
|
* direction: :forwards
|
2144
|
-
* [returns recent presence activity forwards with most recent history last](./spec/acceptance/rest/presence_spec.rb#
|
2225
|
+
* [returns recent presence activity forwards with most recent history last](./spec/acceptance/rest/presence_spec.rb#L165)
|
2145
2226
|
* direction: :backwards
|
2146
|
-
* [returns recent presence activity backwards with most recent history first](./spec/acceptance/rest/presence_spec.rb#
|
2227
|
+
* [returns recent presence activity backwards with most recent history first](./spec/acceptance/rest/presence_spec.rb#L180)
|
2147
2228
|
* #history
|
2148
2229
|
* with options
|
2149
2230
|
* limit options
|
2150
2231
|
* default
|
2151
|
-
* [is set to 100](./spec/acceptance/rest/presence_spec.rb#
|
2232
|
+
* [is set to 100](./spec/acceptance/rest/presence_spec.rb#L225)
|
2152
2233
|
* set to 1000
|
2153
|
-
* [is passes the limit query param value 1000](./spec/acceptance/rest/presence_spec.rb#
|
2234
|
+
* [is passes the limit query param value 1000](./spec/acceptance/rest/presence_spec.rb#L238)
|
2154
2235
|
* with time range options
|
2155
2236
|
* :start
|
2156
2237
|
* with milliseconds since epoch value
|
2157
|
-
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#
|
2238
|
+
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#L268)
|
2158
2239
|
* with Time object value
|
2159
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#
|
2240
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#L278)
|
2160
2241
|
* :end
|
2161
2242
|
* with milliseconds since epoch value
|
2162
|
-
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#
|
2243
|
+
* [uses this value in the history request](./spec/acceptance/rest/presence_spec.rb#L268)
|
2163
2244
|
* with Time object value
|
2164
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#
|
2245
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/presence_spec.rb#L278)
|
2165
2246
|
* when argument start is after end
|
2166
|
-
* [should raise an exception](./spec/acceptance/rest/presence_spec.rb#
|
2247
|
+
* [should raise an exception](./spec/acceptance/rest/presence_spec.rb#L289)
|
2167
2248
|
* decoding
|
2168
2249
|
* with encoded fixture data
|
2169
2250
|
* #history
|
2170
|
-
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#
|
2251
|
+
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#L308)
|
2171
2252
|
* #get
|
2172
|
-
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#
|
2253
|
+
* [decodes encoded and encryped presence fixture data automatically](./spec/acceptance/rest/presence_spec.rb#L315)
|
2173
2254
|
* decoding permutations using mocked #history
|
2174
2255
|
* valid decodeable content
|
2175
2256
|
* #get
|
2176
|
-
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#
|
2257
|
+
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#L368)
|
2177
2258
|
* #history
|
2178
|
-
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#
|
2259
|
+
* [automaticaly decodes presence messages](./spec/acceptance/rest/presence_spec.rb#L385)
|
2179
2260
|
* invalid data
|
2180
2261
|
* #get
|
2181
|
-
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#
|
2182
|
-
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#
|
2262
|
+
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#L416)
|
2263
|
+
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#L420)
|
2183
2264
|
* #history
|
2184
|
-
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#
|
2185
|
-
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#
|
2265
|
+
* [returns the messages still encoded](./spec/acceptance/rest/presence_spec.rb#L440)
|
2266
|
+
* [logs a cipher error](./spec/acceptance/rest/presence_spec.rb#L444)
|
2186
2267
|
|
2187
2268
|
### Ably::Rest::Client#stats
|
2188
2269
|
_(see [spec/acceptance/rest/stats_spec.rb](./spec/acceptance/rest/stats_spec.rb))_
|
@@ -2253,9 +2334,8 @@ _(see [spec/unit/auth_spec.rb](./spec/unit/auth_spec.rb))_
|
|
2253
2334
|
* as Integer
|
2254
2335
|
* [raises an argument error](./spec/unit/auth_spec.rb#L64)
|
2255
2336
|
* defaults
|
2256
|
-
* [should default TTL
|
2257
|
-
* [should default capability
|
2258
|
-
* [should have defaults for :ttl and :capability](./spec/unit/auth_spec.rb#L82)
|
2337
|
+
* [should have no default TTL](./spec/unit/auth_spec.rb#L71)
|
2338
|
+
* [should have no default capability](./spec/unit/auth_spec.rb#L75)
|
2259
2339
|
|
2260
2340
|
### Ably::Logger
|
2261
2341
|
_(see [spec/unit/logger_spec.rb](./spec/unit/logger_spec.rb))_
|
@@ -2264,11 +2344,11 @@ _(see [spec/unit/logger_spec.rb](./spec/unit/logger_spec.rb))_
|
|
2264
2344
|
* with an invalid interface
|
2265
2345
|
* [raises an exception](./spec/unit/logger_spec.rb#L118)
|
2266
2346
|
* with a valid interface
|
2267
|
-
* [is used](./spec/unit/logger_spec.rb#
|
2347
|
+
* [is used](./spec/unit/logger_spec.rb#L129)
|
2268
2348
|
* with blocks
|
2269
|
-
* [does not call the block unless the log level is met](./spec/unit/logger_spec.rb#
|
2349
|
+
* [does not call the block unless the log level is met](./spec/unit/logger_spec.rb#L144)
|
2270
2350
|
* with an exception in the logger block
|
2271
|
-
* [catches the error and continues](./spec/unit/logger_spec.rb#
|
2351
|
+
* [catches the error and continues](./spec/unit/logger_spec.rb#L159)
|
2272
2352
|
|
2273
2353
|
### Ably::Models::AuthDetails
|
2274
2354
|
_(see [spec/unit/models/auth_details_spec.rb](./spec/unit/models/auth_details_spec.rb))_
|
@@ -3417,11 +3497,11 @@ _(see [spec/unit/realtime/client_spec.rb](./spec/unit/realtime/client_spec.rb))_
|
|
3417
3497
|
* with log_level :none
|
3418
3498
|
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L257)
|
3419
3499
|
* with custom logger and log_level
|
3420
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
3421
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
3500
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L267)
|
3501
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L271)
|
3422
3502
|
* delegators
|
3423
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3424
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3503
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L285)
|
3504
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L290)
|
3425
3505
|
* delegation to the REST Client
|
3426
3506
|
* [passes on the options to the initializer](./spec/unit/realtime/client_spec.rb#L15)
|
3427
3507
|
* for attribute
|
@@ -3507,25 +3587,30 @@ _(see [spec/unit/rest/channel_spec.rb](./spec/unit/rest/channel_spec.rb))_
|
|
3507
3587
|
* as UTF_8 string
|
3508
3588
|
* [is permitted](./spec/unit/rest/channel_spec.rb#L16)
|
3509
3589
|
* [remains as UTF-8](./spec/unit/rest/channel_spec.rb#L20)
|
3590
|
+
* as frozen UTF_8 string
|
3591
|
+
* [is permitted](./spec/unit/rest/channel_spec.rb#L29)
|
3592
|
+
* [remains as UTF-8](./spec/unit/rest/channel_spec.rb#L33)
|
3510
3593
|
* as SHIFT_JIS string
|
3511
|
-
* [gets converted to UTF-8](./spec/unit/rest/channel_spec.rb#
|
3512
|
-
* [is compatible with original encoding](./spec/unit/rest/channel_spec.rb#
|
3594
|
+
* [gets converted to UTF-8](./spec/unit/rest/channel_spec.rb#L41)
|
3595
|
+
* [is compatible with original encoding](./spec/unit/rest/channel_spec.rb#L45)
|
3513
3596
|
* as ASCII_8BIT string
|
3514
|
-
* [gets converted to UTF-8](./spec/unit/rest/channel_spec.rb#
|
3515
|
-
* [is compatible with original encoding](./spec/unit/rest/channel_spec.rb#
|
3597
|
+
* [gets converted to UTF-8](./spec/unit/rest/channel_spec.rb#L53)
|
3598
|
+
* [is compatible with original encoding](./spec/unit/rest/channel_spec.rb#L57)
|
3516
3599
|
* as Integer
|
3517
|
-
* [raises an argument error](./spec/unit/rest/channel_spec.rb#
|
3600
|
+
* [raises an argument error](./spec/unit/rest/channel_spec.rb#L65)
|
3518
3601
|
* as Nil
|
3519
|
-
* [raises an argument error](./spec/unit/rest/channel_spec.rb#
|
3602
|
+
* [raises an argument error](./spec/unit/rest/channel_spec.rb#L73)
|
3520
3603
|
* #publish name argument
|
3521
3604
|
* as UTF_8 string
|
3522
|
-
* [is permitted](./spec/unit/rest/channel_spec.rb#
|
3605
|
+
* [is permitted](./spec/unit/rest/channel_spec.rb#L85)
|
3606
|
+
* as frozen UTF_8 string
|
3607
|
+
* [is permitted](./spec/unit/rest/channel_spec.rb#L94)
|
3523
3608
|
* as SHIFT_JIS string
|
3524
|
-
* [is permitted](./spec/unit/rest/channel_spec.rb#
|
3609
|
+
* [is permitted](./spec/unit/rest/channel_spec.rb#L102)
|
3525
3610
|
* as ASCII_8BIT string
|
3526
|
-
* [is permitted](./spec/unit/rest/channel_spec.rb#
|
3611
|
+
* [is permitted](./spec/unit/rest/channel_spec.rb#L110)
|
3527
3612
|
* as Integer
|
3528
|
-
* [raises an argument error](./spec/unit/rest/channel_spec.rb#
|
3613
|
+
* [raises an argument error](./spec/unit/rest/channel_spec.rb#L118)
|
3529
3614
|
|
3530
3615
|
### Ably::Rest::Channels
|
3531
3616
|
_(see [spec/unit/rest/channels_spec.rb](./spec/unit/rest/channels_spec.rb))_
|
@@ -3604,11 +3689,11 @@ _(see [spec/unit/rest/client_spec.rb](./spec/unit/rest/client_spec.rb))_
|
|
3604
3689
|
* with log_level :none
|
3605
3690
|
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L257)
|
3606
3691
|
* with custom logger and log_level
|
3607
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
3608
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
3692
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L267)
|
3693
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L271)
|
3609
3694
|
* delegators
|
3610
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3611
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3695
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L285)
|
3696
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L290)
|
3612
3697
|
* initializer options
|
3613
3698
|
* TLS
|
3614
3699
|
* disabled
|
@@ -3622,6 +3707,8 @@ _(see [spec/unit/rest/client_spec.rb](./spec/unit/rest/client_spec.rb))_
|
|
3622
3707
|
* set to true
|
3623
3708
|
* without a key or token
|
3624
3709
|
* [fails as a key is required to issue tokens](./spec/unit/rest/client_spec.rb#L46)
|
3710
|
+
* request_id generation
|
3711
|
+
* [includes request_id in URL](./spec/unit/rest/client_spec.rb#L56)
|
3625
3712
|
|
3626
3713
|
### Ably::Rest
|
3627
3714
|
_(see [spec/unit/rest/rest_spec.rb](./spec/unit/rest/rest_spec.rb))_
|
@@ -3673,6 +3760,6 @@ _(see [spec/unit/util/pub_sub_spec.rb](./spec/unit/util/pub_sub_spec.rb))_
|
|
3673
3760
|
|
3674
3761
|
## Test summary
|
3675
3762
|
|
3676
|
-
* Passing tests:
|
3677
|
-
* Pending tests:
|
3763
|
+
* Passing tests: 1852
|
3764
|
+
* Pending tests: 6
|
3678
3765
|
* Failing tests: 0
|