ably 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|