ably 1.1.4.rc → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/check.yml +27 -0
- data/CHANGELOG.md +35 -0
- data/COPYRIGHT +1 -0
- data/LICENSE +173 -10
- data/MAINTAINERS.md +1 -0
- data/README.md +2 -10
- data/SPEC.md +944 -914
- data/ably.gemspec +7 -7
- data/lib/ably/auth.rb +12 -2
- data/lib/ably/realtime/channel.rb +7 -11
- data/lib/ably/realtime/channel/channel_manager.rb +2 -2
- data/lib/ably/realtime/channel/channel_properties.rb +24 -0
- data/lib/ably/realtime/client.rb +8 -0
- data/lib/ably/realtime/connection.rb +5 -4
- data/lib/ably/realtime/connection/websocket_transport.rb +67 -1
- data/lib/ably/realtime/presence.rb +0 -14
- data/lib/ably/rest/client.rb +9 -15
- data/lib/ably/rest/middleware/fail_if_unsupported_mime_type.rb +1 -4
- data/lib/ably/version.rb +1 -1
- data/spec/acceptance/realtime/channel_spec.rb +10 -0
- data/spec/acceptance/realtime/client_spec.rb +72 -16
- data/spec/acceptance/realtime/connection_spec.rb +28 -12
- data/spec/acceptance/realtime/presence_history_spec.rb +0 -58
- data/spec/acceptance/realtime/presence_spec.rb +54 -0
- data/spec/acceptance/realtime/push_admin_spec.rb +3 -19
- data/spec/acceptance/rest/auth_spec.rb +6 -75
- data/spec/acceptance/rest/client_spec.rb +72 -12
- data/spec/acceptance/rest/push_admin_spec.rb +3 -19
- data/spec/shared/client_initializer_behaviour.rb +0 -8
- data/spec/spec_helper.rb +1 -0
- data/spec/support/serialization_helper.rb +21 -0
- data/spec/unit/realtime/client_spec.rb +19 -6
- metadata +38 -27
- data/.travis.yml +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df28e1d33dcfce35d2f220e99a4d83b95dda7d050de3fbcd7b05d91b640841ac
|
4
|
+
data.tar.gz: dc0c2283aa2b1303a7954dc2368bfa43a95795f11993f9ef1954651b2062b8e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e5eb2adc93ac58817fcf56a5cfe8696d0edab6277dac0dd4fd2b9bc8948964a6e13a5630238c1bcccd16b2e037ba425bb98de3c839069febb709373dd22f588
|
7
|
+
data.tar.gz: a4fd0c86492a52d7981b30d6049fe9be0d49bc276f09882e93cccc0a42daebe8916b16b5adce9581217dadc7937bce3b54e3fcba1b005ed3beaf8ac09e421f77
|
@@ -0,0 +1,27 @@
|
|
1
|
+
on:
|
2
|
+
pull_request:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- main
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
check:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
continue-on-error: true
|
11
|
+
strategy:
|
12
|
+
matrix:
|
13
|
+
ruby: [ '2.5', '2.6', '2.7' ]
|
14
|
+
protocol: [ 'json', 'msgpack' ]
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v2
|
17
|
+
with:
|
18
|
+
submodules: 'recursive'
|
19
|
+
- uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby }}
|
22
|
+
bundler-cache: true
|
23
|
+
- env:
|
24
|
+
RSPEC_RETRY: true
|
25
|
+
PARALLEL_TEST_PROCESSORS: 2
|
26
|
+
PROTOCOL: ${{ matrix.protocol }}
|
27
|
+
run: ./spec/run_parallel_tests
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,40 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.1.4](https://github.com/ably/ably-ruby/tree/v1.1.4)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.3...v1.1.4)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- statesman dependency very outdated [\#199](https://github.com/ably/ably-ruby/issues/199)
|
10
|
+
- Add support for custom transportParams [\#176](https://github.com/ably/ably-ruby/issues/176)
|
11
|
+
- Re-enable imempotency tests as part of 1.1 release [\#174](https://github.com/ably/ably-ruby/issues/174)
|
12
|
+
- Ensure request method accepts UPDATE, PATCH & DELETE verbs [\#168](https://github.com/ably/ably-ruby/issues/168)
|
13
|
+
- my-members presenceMap requirement change for 1.1 [\#163](https://github.com/ably/ably-ruby/issues/163)
|
14
|
+
- Add ChannelProperties as part of 1.0 spec \(RTL15\) [\#112](https://github.com/ably/ably-ruby/issues/112)
|
15
|
+
|
16
|
+
**Fixed bugs:**
|
17
|
+
|
18
|
+
- client\_id should be passed as clientId [\#159](https://github.com/ably/ably-ruby/issues/159)
|
19
|
+
- Error in the HTTP2 framing layer issue before heroku-20 [\#215](https://github.com/ably/ably-ruby/issues/215)
|
20
|
+
- Using a clientId should no longer be forcing token auth in the 1.1 spec [\#182](https://github.com/ably/ably-ruby/issues/182)
|
21
|
+
|
22
|
+
**Merged pull requests:**
|
23
|
+
|
24
|
+
- Continue running all workflow jobs when one fails [\#235](https://github.com/ably/ably-ruby/pull/235) ([owenpearson](https://github.com/owenpearson))
|
25
|
+
- Set SNI hostname and verify peer certificates when using TLS [\#234](https://github.com/ably/ably-ruby/pull/234) ([lmars](https://github.com/lmars))
|
26
|
+
- Validate that members presenceMap does not change on synthesized leave [\#231](https://github.com/ably/ably-ruby/pull/231) ([TheSmartnik](https://github.com/TheSmartnik))
|
27
|
+
- Conform license and copyright [\#229](https://github.com/ably/ably-ruby/pull/229) ([QuintinWillison](https://github.com/QuintinWillison))
|
28
|
+
- Add ChannelProperties \(RTL15\) [\#227](https://github.com/ably/ably-ruby/pull/227) ([TheSmartnik](https://github.com/TheSmartnik))
|
29
|
+
- Replace fury badges with shields.io [\#226](https://github.com/ably/ably-ruby/pull/226) ([owenpearson](https://github.com/owenpearson))
|
30
|
+
- Add transport\_params option to realtime client \(RTC1f1\) [\#224](https://github.com/ably/ably-ruby/pull/224) ([TheSmartnik](https://github.com/TheSmartnik))
|
31
|
+
- Use GitHub actions [\#223](https://github.com/ably/ably-ruby/pull/223) ([owenpearson](https://github.com/owenpearson))
|
32
|
+
- Add support for delete, patch, put method in \#request [\#218](https://github.com/ably/ably-ruby/pull/218) ([TheSmartnik](https://github.com/TheSmartnik))
|
33
|
+
- Upgrade statesman [\#217](https://github.com/ably/ably-ruby/pull/217) ([TheSmartnik](https://github.com/TheSmartnik))
|
34
|
+
- Remove until\_attach option for presence history [\#216](https://github.com/ably/ably-ruby/pull/216) ([TheSmartnik](https://github.com/TheSmartnik))
|
35
|
+
- Update Travis CI versions [\#214](https://github.com/ably/ably-ruby/pull/214) ([TheSmartnik](https://github.com/TheSmartnik))
|
36
|
+
- Add maintainers file [\#213](https://github.com/ably/ably-ruby/pull/213) ([niksilver](https://github.com/niksilver))
|
37
|
+
|
3
38
|
## [v1.1.3](https://github.com/ably/ably-ruby/tree/v1.1.3)
|
4
39
|
|
5
40
|
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.2...v1.1.3)
|
data/COPYRIGHT
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Copyright 2015-2021 Ably Real-time Ltd (ably.com)
|
data/LICENSE
CHANGED
@@ -1,13 +1,176 @@
|
|
1
|
-
|
1
|
+
Apache License
|
2
|
+
Version 2.0, January 2004
|
3
|
+
http://www.apache.org/licenses/
|
2
4
|
|
3
|
-
|
4
|
-
you may not use this file except in compliance with the License.
|
5
|
-
You may obtain a copy of the License at
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
6
|
|
7
|
-
|
7
|
+
1. Definitions.
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
11
|
+
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
13
|
+
the copyright owner that is granting the License.
|
14
|
+
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
16
|
+
other entities that control, are controlled by, or are under common
|
17
|
+
control with that entity. For the purposes of this definition,
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
19
|
+
direction or management of such entity, whether by contract or
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
22
|
+
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
24
|
+
exercising permissions granted by this License.
|
25
|
+
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
27
|
+
including but not limited to software source code, documentation
|
28
|
+
source, and configuration files.
|
29
|
+
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
31
|
+
transformation or translation of a Source form, including but
|
32
|
+
not limited to compiled object code, generated documentation,
|
33
|
+
and conversions to other media types.
|
34
|
+
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
36
|
+
Object form, made available under the License, as indicated by a
|
37
|
+
copyright notice that is included in or attached to the work
|
38
|
+
(an example is provided in the Appendix below).
|
39
|
+
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
46
|
+
the Work and Derivative Works thereof.
|
47
|
+
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
49
|
+
the original version of the Work and any modifications or additions
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
61
|
+
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
64
|
+
subsequently incorporated within the Work.
|
65
|
+
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
72
|
+
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
78
|
+
where such license applies only to those patent claims licensable
|
79
|
+
by such Contributor that are necessarily infringed by their
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
82
|
+
institute patent litigation against any entity (including a
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
85
|
+
or contributory patent infringement, then any patent licenses
|
86
|
+
granted to You under this License for that Work shall terminate
|
87
|
+
as of the date such litigation is filed.
|
88
|
+
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
91
|
+
modifications, and in Source or Object form, provided that You
|
92
|
+
meet the following conditions:
|
93
|
+
|
94
|
+
(a) You must give any other recipients of the Work or
|
95
|
+
Derivative Works a copy of this License; and
|
96
|
+
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
98
|
+
stating that You changed the files; and
|
99
|
+
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
102
|
+
attribution notices from the Source form of the Work,
|
103
|
+
excluding those notices that do not pertain to any part of
|
104
|
+
the Derivative Works; and
|
105
|
+
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
108
|
+
include a readable copy of the attribution notices contained
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
111
|
+
of the following places: within a NOTICE text file distributed
|
112
|
+
as part of the Derivative Works; within the Source form or
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
114
|
+
within a display generated by the Derivative Works, if and
|
115
|
+
wherever such third-party notices normally appear. The contents
|
116
|
+
of the NOTICE file are for informational purposes only and
|
117
|
+
do not modify the License. You may add Your own attribution
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
120
|
+
that such additional attribution notices cannot be construed
|
121
|
+
as modifying the License.
|
122
|
+
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
124
|
+
may provide additional or different license terms and conditions
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
128
|
+
the conditions stated in this License.
|
129
|
+
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
133
|
+
this License, without any additional terms or conditions.
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
135
|
+
the terms of any separate license agreement you may have executed
|
136
|
+
with Licensor regarding such Contributions.
|
137
|
+
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
140
|
+
except as required for reasonable and customary use in describing the
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
142
|
+
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
152
|
+
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
158
|
+
incidental, or consequential damages of any character arising as a
|
159
|
+
result of this License or out of the use or inability to use the
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
162
|
+
other commercial damages or losses), even if such Contributor
|
163
|
+
has been advised of the possibility of such damages.
|
164
|
+
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
168
|
+
or other liability obligations and/or rights consistent with this
|
169
|
+
License. However, in accepting such obligations, You may act only
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
174
|
+
of your accepting any such warranty or additional liability.
|
175
|
+
|
176
|
+
END OF TERMS AND CONDITIONS
|
data/MAINTAINERS.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
This repository is owned by the Ably SDK team.
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# [Ably](https://www.ably.io)
|
2
2
|
|
3
|
-
[![Gem Version](https://
|
3
|
+
[![Gem Version](https://img.shields.io/gem/v/ably?style=flat)](https://img.shields.io/gem/v/ably?style=flat)
|
4
4
|
[![Coverage Status](https://coveralls.io/repos/ably/ably-ruby/badge.svg)](https://coveralls.io/r/ably/ably-ruby)
|
5
5
|
|
6
6
|
A Ruby client library for [ably.io](https://www.ably.io), the realtime messaging service. This library currently targets the [Ably 1.1 client library specification](https://www.ably.io/documentation/client-lib-development-guide/features/). You can jump to the '[Known Limitations](#known-limitations)' section to see the features this client library does not yet support or [view our client library SDKs feature support matrix](https://www.ably.io/download/sdk-feature-support-matrix) to see the list of all the available features.
|
@@ -9,18 +9,10 @@ A Ruby client library for [ably.io](https://www.ably.io), the realtime messaging
|
|
9
9
|
|
10
10
|
This SDK supports Ruby 1.9.3+.
|
11
11
|
|
12
|
-
We regression-test the SDK against a selection of Ruby versions (which we update over time, but usually consists of mainstream and widely used versions). Please refer to [.
|
12
|
+
We regression-test the SDK against a selection of Ruby versions (which we update over time, but usually consists of mainstream and widely used versions). Please refer to [.github/workflows/check.yml](./.github/workflows/check.yml) for the set of versions that currently undergo CI testing.
|
13
13
|
|
14
14
|
If you find any compatibility issues, please [do raise an issue](https://github.com/ably/ably-ruby/issues/new) in this repository or [contact Ably customer support](https://support.ably.io/) for advice.
|
15
15
|
|
16
|
-
## Known Limitations
|
17
|
-
|
18
|
-
This client library is currently *not compatible* with some of the Ably features:
|
19
|
-
|
20
|
-
| Feature |
|
21
|
-
| :--- |
|
22
|
-
| [Custom transportParams](https://www.ably.io/documentation/realtime/connection#client-options) |
|
23
|
-
|
24
16
|
## Documentation
|
25
17
|
|
26
18
|
Visit https://www.ably.io/documentation for a complete API reference and more examples.
|
data/SPEC.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Ably Realtime & REST Client Library 1.1.
|
1
|
+
# Ably Realtime & REST Client Library 1.1.4 Specification
|
2
2
|
|
3
3
|
### Ably::Realtime::Auth
|
4
4
|
_(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_spec.rb))_
|
@@ -55,7 +55,7 @@ _(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_sp
|
|
55
55
|
* and an incompatible client_id in a TokenDetails object passed to the auth callback
|
56
56
|
* [rejects a TokenDetails object with an incompatible client_id and fails with an exception](./spec/acceptance/realtime/auth_spec.rb#L287)
|
57
57
|
* when already authenticated with a valid token
|
58
|
-
* [ensures message delivery continuity whilst upgrading (#RTC8a1)](./spec/acceptance/realtime/auth_spec.rb#
|
58
|
+
* [ensures message delivery continuity whilst upgrading (#RTC8a1)](./spec/acceptance/realtime/auth_spec.rb#L703)
|
59
59
|
* when INITIALIZED
|
60
60
|
* [obtains a token and connects to Ably (#RTC8c, #RTC8b1)](./spec/acceptance/realtime/auth_spec.rb#L328)
|
61
61
|
* when CONNECTING
|
@@ -82,93 +82,93 @@ _(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_sp
|
|
82
82
|
* when upgrading capabilities
|
83
83
|
* [is allowed (#RTC8a1)](./spec/acceptance/realtime/auth_spec.rb#L659)
|
84
84
|
* when downgrading capabilities (#RTC8a1)
|
85
|
-
* [is allowed and channels are detached](./spec/acceptance/realtime/auth_spec.rb#
|
85
|
+
* [is allowed and channels are detached](./spec/acceptance/realtime/auth_spec.rb#L686)
|
86
86
|
* #authorize_async
|
87
|
-
* [returns a token synchronously](./spec/acceptance/realtime/auth_spec.rb#
|
87
|
+
* [returns a token synchronously](./spec/acceptance/realtime/auth_spec.rb#L737)
|
88
88
|
* server initiated AUTH ProtocolMessage
|
89
89
|
* when received
|
90
|
-
* [should immediately start a new authentication process (#RTN22)](./spec/acceptance/realtime/auth_spec.rb#
|
90
|
+
* [should immediately start a new authentication process (#RTN22)](./spec/acceptance/realtime/auth_spec.rb#L758)
|
91
91
|
* when not received
|
92
|
-
* [should expect the connection to be disconnected by the server but should resume automatically (#RTN22a)](./spec/acceptance/realtime/auth_spec.rb#
|
92
|
+
* [should expect the connection to be disconnected by the server but should resume automatically (#RTN22a)](./spec/acceptance/realtime/auth_spec.rb#L781)
|
93
93
|
* #auth_params
|
94
|
-
* [returns the auth params asynchronously](./spec/acceptance/realtime/auth_spec.rb#
|
94
|
+
* [returns the auth params asynchronously](./spec/acceptance/realtime/auth_spec.rb#L807)
|
95
95
|
* #auth_params_sync
|
96
|
-
* [returns the auth params synchronously](./spec/acceptance/realtime/auth_spec.rb#
|
96
|
+
* [returns the auth params synchronously](./spec/acceptance/realtime/auth_spec.rb#L816)
|
97
97
|
* #auth_header
|
98
|
-
* [returns an auth header asynchronously](./spec/acceptance/realtime/auth_spec.rb#
|
98
|
+
* [returns an auth header asynchronously](./spec/acceptance/realtime/auth_spec.rb#L823)
|
99
99
|
* #auth_header_sync
|
100
|
-
* [returns an auth header synchronously](./spec/acceptance/realtime/auth_spec.rb#
|
100
|
+
* [returns an auth header synchronously](./spec/acceptance/realtime/auth_spec.rb#L832)
|
101
101
|
* #client_id_validated?
|
102
102
|
* when using basic auth
|
103
103
|
* before connected
|
104
|
-
* [is false as basic auth users do not have an identity](./spec/acceptance/realtime/auth_spec.rb#
|
104
|
+
* [is false as basic auth users do not have an identity](./spec/acceptance/realtime/auth_spec.rb#L845)
|
105
105
|
* once connected
|
106
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
107
|
-
* [contains a validated wildcard client_id](./spec/acceptance/realtime/auth_spec.rb#
|
106
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L852)
|
107
|
+
* [contains a validated wildcard client_id](./spec/acceptance/realtime/auth_spec.rb#L859)
|
108
108
|
* when using a token string
|
109
109
|
* with a valid client_id
|
110
110
|
* before connected
|
111
|
-
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#
|
112
|
-
* [#client_id is nil](./spec/acceptance/realtime/auth_spec.rb#
|
111
|
+
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#L873)
|
112
|
+
* [#client_id is nil](./spec/acceptance/realtime/auth_spec.rb#L878)
|
113
113
|
* once connected
|
114
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
115
|
-
* [#client_id is populated](./spec/acceptance/realtime/auth_spec.rb#
|
114
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L885)
|
115
|
+
* [#client_id is populated](./spec/acceptance/realtime/auth_spec.rb#L892)
|
116
116
|
* with no client_id (anonymous)
|
117
117
|
* before connected
|
118
|
-
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#
|
118
|
+
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#L905)
|
119
119
|
* once connected
|
120
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
120
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L912)
|
121
121
|
* with a wildcard client_id (anonymous)
|
122
122
|
* before connected
|
123
|
-
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#
|
123
|
+
* [is false as identification is not possible from an opaque token string](./spec/acceptance/realtime/auth_spec.rb#L925)
|
124
124
|
* once connected
|
125
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
125
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L932)
|
126
126
|
* when using a token
|
127
127
|
* with a client_id
|
128
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
128
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L946)
|
129
129
|
* once connected
|
130
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
130
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L952)
|
131
131
|
* with no client_id (anonymous)
|
132
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
132
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L964)
|
133
133
|
* once connected
|
134
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
134
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L970)
|
135
135
|
* with a wildcard client_id (anonymous)
|
136
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
136
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L982)
|
137
137
|
* once connected
|
138
|
-
* [is true](./spec/acceptance/realtime/auth_spec.rb#
|
138
|
+
* [is true](./spec/acceptance/realtime/auth_spec.rb#L988)
|
139
139
|
* when using a token request with a client_id
|
140
|
-
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/realtime/auth_spec.rb#
|
140
|
+
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/realtime/auth_spec.rb#L1001)
|
141
141
|
* once connected
|
142
|
-
* [is true as identification is completed following CONNECTED ProtocolMessage](./spec/acceptance/realtime/auth_spec.rb#
|
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
146
|
* when using JWT
|
147
147
|
* when using auth_url
|
148
148
|
* when credentials are valid
|
149
|
-
* [client successfully fetches a channel and publishes a message](./spec/acceptance/realtime/auth_spec.rb#
|
149
|
+
* [client successfully fetches a channel and publishes a message](./spec/acceptance/realtime/auth_spec.rb#L1046)
|
150
150
|
* when credentials are wrong
|
151
|
-
* [disconnected includes and invalid signature message](./spec/acceptance/realtime/auth_spec.rb#
|
151
|
+
* [disconnected includes and invalid signature message](./spec/acceptance/realtime/auth_spec.rb#L1059)
|
152
152
|
* when token is expired
|
153
|
-
* [receives a 40142 error from the server](./spec/acceptance/realtime/auth_spec.rb#
|
153
|
+
* [receives a 40142 error from the server](./spec/acceptance/realtime/auth_spec.rb#L1072)
|
154
154
|
* when using auth_callback
|
155
155
|
* when credentials are valid
|
156
|
-
* [authentication succeeds and client can post a message](./spec/acceptance/realtime/auth_spec.rb#
|
156
|
+
* [authentication succeeds and client can post a message](./spec/acceptance/realtime/auth_spec.rb#L1097)
|
157
157
|
* when credentials are invalid
|
158
|
-
* [authentication fails and reason for disconnection is invalid signature](./spec/acceptance/realtime/auth_spec.rb#
|
158
|
+
* [authentication fails and reason for disconnection is invalid signature](./spec/acceptance/realtime/auth_spec.rb#L1112)
|
159
159
|
* when the client is initialized with ClientOptions and the token is a JWT token
|
160
160
|
* when credentials are valid
|
161
|
-
* [posts successfully to a channel](./spec/acceptance/realtime/auth_spec.rb#
|
161
|
+
* [posts successfully to a channel](./spec/acceptance/realtime/auth_spec.rb#L1129)
|
162
162
|
* when credentials are invalid
|
163
|
-
* [fails with an invalid signature error](./spec/acceptance/realtime/auth_spec.rb#
|
163
|
+
* [fails with an invalid signature error](./spec/acceptance/realtime/auth_spec.rb#L1144)
|
164
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#
|
165
|
+
* [client disconnects, a new token is requested via auth_callback and the client gets reconnected](./spec/acceptance/realtime/auth_spec.rb#L1171)
|
166
166
|
* and an AUTH procol message is received
|
167
|
-
* [client reauths correctly without going through a disconnection](./spec/acceptance/realtime/auth_spec.rb#
|
167
|
+
* [client reauths correctly without going through a disconnection](./spec/acceptance/realtime/auth_spec.rb#L1199)
|
168
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#
|
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#L1227)
|
170
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#
|
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#L1245)
|
172
172
|
|
173
173
|
### Ably::Realtime::Channel#history
|
174
174
|
_(see [spec/acceptance/realtime/channel_history_spec.rb](./spec/acceptance/realtime/channel_history_spec.rb))_
|
@@ -183,15 +183,15 @@ _(see [spec/acceptance/realtime/channel_history_spec.rb](./spec/acceptance/realt
|
|
183
183
|
* [retrieves history forwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L94)
|
184
184
|
* [retrieves history backwards with pagination through :limit option](./spec/acceptance/realtime/channel_history_spec.rb#L103)
|
185
185
|
* in multiple ProtocolMessages
|
186
|
-
*
|
187
|
-
*
|
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#L127)
|
188
188
|
* and REST history
|
189
|
-
* [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#L145)
|
190
190
|
* with option until_attach: true
|
191
|
-
* [retrieves all messages before channel was attached](./spec/acceptance/realtime/channel_history_spec.rb#
|
192
|
-
* [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#L172)
|
192
|
+
* [fails the deferrable unless the state is attached](./spec/acceptance/realtime/channel_history_spec.rb#L221)
|
193
193
|
* and two pages of messages
|
194
|
-
* [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#L187)
|
195
195
|
|
196
196
|
### Ably::Realtime::Channel
|
197
197
|
_(see [spec/acceptance/realtime/channel_spec.rb](./spec/acceptance/realtime/channel_spec.rb))_
|
@@ -201,286 +201,287 @@ _(see [spec/acceptance/realtime/channel_spec.rb](./spec/acceptance/realtime/chan
|
|
201
201
|
* [remains initialized when accessing a channel](./spec/acceptance/realtime/channel_spec.rb#L29)
|
202
202
|
* [opens a connection implicitly on #attach](./spec/acceptance/realtime/channel_spec.rb#L37)
|
203
203
|
* #attach
|
204
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_spec.rb#
|
205
|
-
* [calls the SafeDeferrable callback on success (#RTL4d)](./spec/acceptance/realtime/channel_spec.rb#
|
204
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_spec.rb#L152)
|
205
|
+
* [calls the SafeDeferrable callback on success (#RTL4d)](./spec/acceptance/realtime/channel_spec.rb#L157)
|
206
206
|
* when initialized
|
207
207
|
* [emits attaching then attached events](./spec/acceptance/realtime/channel_spec.rb#L48)
|
208
208
|
* [ignores subsequent #attach calls but calls the success callback if provided](./spec/acceptance/realtime/channel_spec.rb#L58)
|
209
209
|
* [attaches to a channel](./spec/acceptance/realtime/channel_spec.rb#L71)
|
210
210
|
* [attaches to a channel and calls the provided block (#RTL4d)](./spec/acceptance/realtime/channel_spec.rb#L79)
|
211
|
-
* [
|
212
|
-
* [
|
211
|
+
* [sets attach_serial property after the attachment (#RTL15a)](./spec/acceptance/realtime/channel_spec.rb#L86)
|
212
|
+
* [sends an ATTACH and waits for an ATTACHED (#RTL4c)](./spec/acceptance/realtime/channel_spec.rb#L96)
|
213
|
+
* [implicitly attaches the channel (#RTL7c)](./spec/acceptance/realtime/channel_spec.rb#L120)
|
213
214
|
* when the implicit channel attach fails
|
214
|
-
* [registers the listener anyway (#RTL7c)](./spec/acceptance/realtime/channel_spec.rb#
|
215
|
+
* [registers the listener anyway (#RTL7c)](./spec/acceptance/realtime/channel_spec.rb#L137)
|
215
216
|
* when an ATTACHED acknowledge is not received on the current connection
|
216
|
-
* [sends another ATTACH each time the connection becomes connected](./spec/acceptance/realtime/channel_spec.rb#
|
217
|
+
* [sends another ATTACH each time the connection becomes connected](./spec/acceptance/realtime/channel_spec.rb#L168)
|
217
218
|
* when state is :attached
|
218
|
-
* [does nothing (#RTL4a)](./spec/acceptance/realtime/channel_spec.rb#
|
219
|
+
* [does nothing (#RTL4a)](./spec/acceptance/realtime/channel_spec.rb#L206)
|
219
220
|
* when state is :failed
|
220
|
-
* [reattaches and sets the errorReason to nil (#RTL4g)](./spec/acceptance/realtime/channel_spec.rb#
|
221
|
+
* [reattaches and sets the errorReason to nil (#RTL4g)](./spec/acceptance/realtime/channel_spec.rb#L226)
|
221
222
|
* when state is :detaching
|
222
|
-
* [does the attach operation after the completion of the pending request (#RTL4h)](./spec/acceptance/realtime/channel_spec.rb#
|
223
|
+
* [does the attach operation after the completion of the pending request (#RTL4h)](./spec/acceptance/realtime/channel_spec.rb#L241)
|
223
224
|
* with many connections and many channels on each simultaneously
|
224
|
-
* [attaches all channels](./spec/acceptance/realtime/channel_spec.rb#
|
225
|
+
* [attaches all channels](./spec/acceptance/realtime/channel_spec.rb#L269)
|
225
226
|
* failure as a result of insufficient key permissions
|
226
|
-
* [emits failed event (#RTL4e)](./spec/acceptance/realtime/channel_spec.rb#
|
227
|
-
* [calls the errback of the returned Deferrable (#RTL4d)](./spec/acceptance/realtime/channel_spec.rb#
|
228
|
-
* [updates the error_reason](./spec/acceptance/realtime/channel_spec.rb#
|
227
|
+
* [emits failed event (#RTL4e)](./spec/acceptance/realtime/channel_spec.rb#L300)
|
228
|
+
* [calls the errback of the returned Deferrable (#RTL4d)](./spec/acceptance/realtime/channel_spec.rb#L309)
|
229
|
+
* [updates the error_reason](./spec/acceptance/realtime/channel_spec.rb#L317)
|
229
230
|
* and subsequent authorisation with suitable permissions
|
230
|
-
* [attaches to the channel successfully and resets the channel error_reason](./spec/acceptance/realtime/channel_spec.rb#
|
231
|
+
* [attaches to the channel successfully and resets the channel error_reason](./spec/acceptance/realtime/channel_spec.rb#L326)
|
231
232
|
* with connection state
|
232
|
-
* [is initialized (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#
|
233
|
-
* [is connecting (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#
|
234
|
-
* [is disconnected (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#
|
233
|
+
* [is initialized (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#L345)
|
234
|
+
* [is connecting (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#L352)
|
235
|
+
* [is disconnected (#RTL4i)](./spec/acceptance/realtime/channel_spec.rb#L360)
|
235
236
|
* #detach
|
236
237
|
* when state is :attached
|
237
|
-
* [it detaches from a channel (#RTL5d)](./spec/acceptance/realtime/channel_spec.rb#
|
238
|
-
* [detaches from a channel and calls the provided block (#RTL5d, #RTL5e)](./spec/acceptance/realtime/channel_spec.rb#
|
239
|
-
* [emits :detaching then :detached events](./spec/acceptance/realtime/channel_spec.rb#
|
240
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_spec.rb#
|
241
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/channel_spec.rb#
|
238
|
+
* [it detaches from a channel (#RTL5d)](./spec/acceptance/realtime/channel_spec.rb#L375)
|
239
|
+
* [detaches from a channel and calls the provided block (#RTL5d, #RTL5e)](./spec/acceptance/realtime/channel_spec.rb#L385)
|
240
|
+
* [emits :detaching then :detached events](./spec/acceptance/realtime/channel_spec.rb#L395)
|
241
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/channel_spec.rb#L407)
|
242
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/channel_spec.rb#L414)
|
242
243
|
* and DETACHED message is not received within realtime request timeout
|
243
|
-
* [fails the deferrable and returns to the previous state (#RTL5f, #RTL5e)](./spec/acceptance/realtime/channel_spec.rb#
|
244
|
+
* [fails the deferrable and returns to the previous state (#RTL5f, #RTL5e)](./spec/acceptance/realtime/channel_spec.rb#L428)
|
244
245
|
* when state is :failed
|
245
|
-
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#
|
246
|
+
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#L448)
|
246
247
|
* when state is :attaching
|
247
|
-
* [waits for the attach to complete and then moves to detached](./spec/acceptance/realtime/channel_spec.rb#
|
248
|
+
* [waits for the attach to complete and then moves to detached](./spec/acceptance/realtime/channel_spec.rb#L461)
|
248
249
|
* when state is :detaching
|
249
|
-
* [ignores subsequent #detach calls but calls the callback if provided (#RTL5i)](./spec/acceptance/realtime/channel_spec.rb#
|
250
|
+
* [ignores subsequent #detach calls but calls the callback if provided (#RTL5i)](./spec/acceptance/realtime/channel_spec.rb#L478)
|
250
251
|
* when state is :suspended
|
251
|
-
* [moves the channel state immediately to DETACHED state (#RTL5j)](./spec/acceptance/realtime/channel_spec.rb#
|
252
|
+
* [moves the channel state immediately to DETACHED state (#RTL5j)](./spec/acceptance/realtime/channel_spec.rb#L495)
|
252
253
|
* when state is :initialized
|
253
|
-
* [does nothing as there is no channel to detach (#RTL5a)](./spec/acceptance/realtime/channel_spec.rb#
|
254
|
-
* [returns a valid deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
254
|
+
* [does nothing as there is no channel to detach (#RTL5a)](./spec/acceptance/realtime/channel_spec.rb#L515)
|
255
|
+
* [returns a valid deferrable](./spec/acceptance/realtime/channel_spec.rb#L523)
|
255
256
|
* when state is :detached
|
256
|
-
* [does nothing as the channel is detached (#RTL5a)](./spec/acceptance/realtime/channel_spec.rb#
|
257
|
+
* [does nothing as the channel is detached (#RTL5a)](./spec/acceptance/realtime/channel_spec.rb#L533)
|
257
258
|
* when connection state is
|
258
259
|
* closing
|
259
|
-
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#
|
260
|
+
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#L550)
|
260
261
|
* failed and channel is failed
|
261
|
-
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#
|
262
|
+
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#L570)
|
262
263
|
* failed and channel is detached
|
263
|
-
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#
|
264
|
+
* [fails the deferrable (#RTL5b)](./spec/acceptance/realtime/channel_spec.rb#L592)
|
264
265
|
* initialized
|
265
|
-
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#
|
266
|
+
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#L612)
|
266
267
|
* connecting
|
267
|
-
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#
|
268
|
+
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#L627)
|
268
269
|
* disconnected
|
269
|
-
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#
|
270
|
+
* [does the detach operation once the connection state is connected (#RTL5h)](./spec/acceptance/realtime/channel_spec.rb#L646)
|
270
271
|
* automatic channel recovery
|
271
272
|
* when an ATTACH request times out
|
272
|
-
* [moves to the SUSPENDED state (#RTL4f)](./spec/acceptance/realtime/channel_spec.rb#
|
273
|
+
* [moves to the SUSPENDED state (#RTL4f)](./spec/acceptance/realtime/channel_spec.rb#L673)
|
273
274
|
* if a subsequent ATTACHED is received on an ATTACHED channel
|
274
|
-
* [ignores the additional ATTACHED if resumed is true (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#
|
275
|
-
* [emits an UPDATE only when resumed is true (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#
|
276
|
-
* [emits an UPDATE when resumed is true and includes the reason error from the ProtocolMessage (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#
|
275
|
+
* [ignores the additional ATTACHED if resumed is true (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#L687)
|
276
|
+
* [emits an UPDATE only when resumed is true (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#L701)
|
277
|
+
* [emits an UPDATE when resumed is true and includes the reason error from the ProtocolMessage (#RTL12)](./spec/acceptance/realtime/channel_spec.rb#L717)
|
277
278
|
* #publish
|
278
279
|
* when channel is attached (#RTL6c1)
|
279
|
-
* [publishes messages](./spec/acceptance/realtime/channel_spec.rb#
|
280
|
+
* [publishes messages](./spec/acceptance/realtime/channel_spec.rb#L742)
|
280
281
|
* when channel is not attached in state Initializing (#RTL6c1)
|
281
|
-
* [publishes messages immediately and does not implicitly attach (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#
|
282
|
+
* [publishes messages immediately and does not implicitly attach (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#L754)
|
282
283
|
* when channel is Attaching (#RTL6c1)
|
283
|
-
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#
|
284
|
+
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#L771)
|
284
285
|
* when channel is Detaching (#RTL6c1)
|
285
|
-
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#
|
286
|
+
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#L796)
|
286
287
|
* when channel is Detached (#RTL6c1)
|
287
|
-
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#
|
288
|
+
* [publishes messages immediately (#RTL6c1)](./spec/acceptance/realtime/channel_spec.rb#L823)
|
288
289
|
* with :queue_messages client option set to false (#RTL6c4)
|
289
290
|
* and connection state connected (#RTL6c4)
|
290
|
-
* [publishes the message](./spec/acceptance/realtime/channel_spec.rb#
|
291
|
+
* [publishes the message](./spec/acceptance/realtime/channel_spec.rb#L854)
|
291
292
|
* and connection state initialized (#RTL6c4)
|
292
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
293
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L863)
|
293
294
|
* and connection state connecting (#RTL6c4)
|
294
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
295
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L873)
|
295
296
|
* and connection state disconnected (#RTL6c4)
|
296
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
297
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L888)
|
297
298
|
* and connection state suspended (#RTL6c4)
|
298
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
299
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L888)
|
299
300
|
* and connection state closing (#RTL6c4)
|
300
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
301
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L888)
|
301
302
|
* and connection state closed (#RTL6c4)
|
302
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
303
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L888)
|
303
304
|
* and the channel state is failed (#RTL6c4)
|
304
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
305
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L909)
|
305
306
|
* with name and data arguments
|
306
|
-
* [publishes the message and return true indicating success](./spec/acceptance/realtime/channel_spec.rb#
|
307
|
+
* [publishes the message and return true indicating success](./spec/acceptance/realtime/channel_spec.rb#L927)
|
307
308
|
* and additional attributes
|
308
|
-
* [publishes the message with the attributes and return true indicating success](./spec/acceptance/realtime/channel_spec.rb#
|
309
|
+
* [publishes the message with the attributes and return true indicating success](./spec/acceptance/realtime/channel_spec.rb#L940)
|
309
310
|
* and additional invalid attributes
|
310
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
311
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L953)
|
311
312
|
* with an array of Hash objects with :name and :data attributes
|
312
|
-
* [publishes an array of messages in one ProtocolMessage](./spec/acceptance/realtime/channel_spec.rb#
|
313
|
+
* [publishes an array of messages in one ProtocolMessage](./spec/acceptance/realtime/channel_spec.rb#L967)
|
313
314
|
* with an array of Message objects
|
314
|
-
* [publishes an array of messages in one ProtocolMessage](./spec/acceptance/realtime/channel_spec.rb#
|
315
|
+
* [publishes an array of messages in one ProtocolMessage](./spec/acceptance/realtime/channel_spec.rb#L995)
|
315
316
|
* nil attributes
|
316
317
|
* when name is nil
|
317
|
-
* [publishes the message without a name attribute in the payload](./spec/acceptance/realtime/channel_spec.rb#
|
318
|
+
* [publishes the message without a name attribute in the payload](./spec/acceptance/realtime/channel_spec.rb#L1019)
|
318
319
|
* when data is nil
|
319
|
-
* [publishes the message without a data attribute in the payload](./spec/acceptance/realtime/channel_spec.rb#
|
320
|
+
* [publishes the message without a data attribute in the payload](./spec/acceptance/realtime/channel_spec.rb#L1043)
|
320
321
|
* with neither name or data attributes
|
321
|
-
* [publishes the message without any attributes in the payload](./spec/acceptance/realtime/channel_spec.rb#
|
322
|
+
* [publishes the message without any attributes in the payload](./spec/acceptance/realtime/channel_spec.rb#L1067)
|
322
323
|
* with two invalid message out of 12
|
323
324
|
* before client_id is known (validated)
|
324
|
-
* [calls the errback once](./spec/acceptance/realtime/channel_spec.rb#
|
325
|
+
* [calls the errback once](./spec/acceptance/realtime/channel_spec.rb#L1091)
|
325
326
|
* when client_id is known (validated)
|
326
|
-
* [raises an exception](./spec/acceptance/realtime/channel_spec.rb#
|
327
|
+
* [raises an exception](./spec/acceptance/realtime/channel_spec.rb#L1111)
|
327
328
|
* only invalid messages
|
328
329
|
* before client_id is known (validated)
|
329
|
-
* [calls the errback once](./spec/acceptance/realtime/channel_spec.rb#
|
330
|
+
* [calls the errback once](./spec/acceptance/realtime/channel_spec.rb#L1130)
|
330
331
|
* when client_id is known (validated)
|
331
|
-
* [raises an exception](./spec/acceptance/realtime/channel_spec.rb#
|
332
|
+
* [raises an exception](./spec/acceptance/realtime/channel_spec.rb#L1149)
|
332
333
|
* with many many messages and many connections simultaneously
|
333
|
-
* [publishes all messages, all success callbacks are called, and a history request confirms all messages were published](./spec/acceptance/realtime/channel_spec.rb#
|
334
|
+
* [publishes all messages, all success callbacks are called, and a history request confirms all messages were published](./spec/acceptance/realtime/channel_spec.rb#L1163)
|
334
335
|
* with more than allowed messages in a single publish
|
335
|
-
* [rejects the publish](./spec/acceptance/realtime/channel_spec.rb#
|
336
|
+
* [rejects the publish](./spec/acceptance/realtime/channel_spec.rb#L1186)
|
336
337
|
* identified clients
|
337
338
|
* when authenticated with a wildcard client_id
|
338
339
|
* with a valid client_id in the message
|
339
|
-
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#
|
340
|
+
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#L1206)
|
340
341
|
* with a wildcard client_id in the message
|
341
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
342
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1218)
|
342
343
|
* with a non-String client_id in the message
|
343
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
344
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1225)
|
344
345
|
* with an empty client_id in the message
|
345
|
-
* [succeeds and publishes without a client_id](./spec/acceptance/realtime/channel_spec.rb#
|
346
|
+
* [succeeds and publishes without a client_id](./spec/acceptance/realtime/channel_spec.rb#L1232)
|
346
347
|
* when authenticated with a Token string with an implicit client_id
|
347
348
|
* before the client is CONNECTED and the client's identity has been obtained
|
348
349
|
* with a valid client_id in the message
|
349
|
-
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#
|
350
|
+
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#L1252)
|
350
351
|
* with an invalid client_id in the message
|
351
|
-
* [succeeds in the client library but then fails when delivered to Ably](./spec/acceptance/realtime/channel_spec.rb#
|
352
|
+
* [succeeds in the client library but then fails when delivered to Ably](./spec/acceptance/realtime/channel_spec.rb#L1265)
|
352
353
|
* with an empty client_id in the message
|
353
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#
|
354
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#L1276)
|
354
355
|
* after the client is CONNECTED and the client's identity is known
|
355
356
|
* with a valid client_id in the message
|
356
|
-
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#
|
357
|
+
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#L1290)
|
357
358
|
* with an invalid client_id in the message
|
358
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
359
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1304)
|
359
360
|
* with an empty client_id in the message
|
360
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#
|
361
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#L1313)
|
361
362
|
* when authenticated with a valid client_id
|
362
363
|
* with a valid client_id
|
363
|
-
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#
|
364
|
+
* [succeeds](./spec/acceptance/realtime/channel_spec.rb#L1335)
|
364
365
|
* with a wildcard client_id in the message
|
365
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
366
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1347)
|
366
367
|
* with an invalid client_id in the message
|
367
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
368
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1354)
|
368
369
|
* with an empty client_id in the message
|
369
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#
|
370
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#L1361)
|
370
371
|
* when anonymous and no client_id
|
371
372
|
* with a client_id in the message
|
372
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
373
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1380)
|
373
374
|
* with a wildcard client_id in the message
|
374
|
-
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#
|
375
|
+
* [throws an exception](./spec/acceptance/realtime/channel_spec.rb#L1387)
|
375
376
|
* with an empty client_id in the message
|
376
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#
|
377
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/realtime/channel_spec.rb#L1394)
|
377
378
|
* #subscribe
|
378
379
|
* with an event argument
|
379
|
-
* [subscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#
|
380
|
+
* [subscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#L1410)
|
380
381
|
* before attach
|
381
|
-
* [receives messages as soon as attached](./spec/acceptance/realtime/channel_spec.rb#
|
382
|
+
* [receives messages as soon as attached](./spec/acceptance/realtime/channel_spec.rb#L1420)
|
382
383
|
* with no event argument
|
383
|
-
* [subscribes for all events](./spec/acceptance/realtime/channel_spec.rb#
|
384
|
+
* [subscribes for all events](./spec/acceptance/realtime/channel_spec.rb#L1434)
|
384
385
|
* with a callback that raises an exception
|
385
|
-
* [logs the error and continues](./spec/acceptance/realtime/channel_spec.rb#
|
386
|
+
* [logs the error and continues](./spec/acceptance/realtime/channel_spec.rb#L1446)
|
386
387
|
* many times with different event names
|
387
|
-
* [filters events accordingly to each callback](./spec/acceptance/realtime/channel_spec.rb#
|
388
|
+
* [filters events accordingly to each callback](./spec/acceptance/realtime/channel_spec.rb#L1465)
|
388
389
|
* #unsubscribe
|
389
390
|
* with an event argument
|
390
|
-
* [unsubscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#
|
391
|
+
* [unsubscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#L1488)
|
391
392
|
* with no event argument
|
392
|
-
* [unsubscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#
|
393
|
+
* [unsubscribes for a single event](./spec/acceptance/realtime/channel_spec.rb#L1501)
|
393
394
|
* when connection state changes to
|
394
395
|
* :failed
|
395
396
|
* an :attaching channel
|
396
|
-
* [transitions state to :failed (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#
|
397
|
+
* [transitions state to :failed (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#L1524)
|
397
398
|
* an :attached channel
|
398
|
-
* [transitions state to :failed (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#
|
399
|
-
* [updates the channel error_reason (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#
|
399
|
+
* [transitions state to :failed (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#L1541)
|
400
|
+
* [updates the channel error_reason (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#L1553)
|
400
401
|
* a :detached channel
|
401
|
-
* [remains in the :detached state (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#
|
402
|
+
* [remains in the :detached state (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#L1567)
|
402
403
|
* a :failed channel
|
403
|
-
* [remains in the :failed state and ignores the failure error (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#
|
404
|
+
* [remains in the :failed state and ignores the failure error (#RTL3a)](./spec/acceptance/realtime/channel_spec.rb#L1586)
|
404
405
|
* a channel ATTACH request
|
405
|
-
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#
|
406
|
+
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#L1606)
|
406
407
|
* :closed
|
407
408
|
* an :attached channel
|
408
|
-
* [transitions state to :detached (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#
|
409
|
+
* [transitions state to :detached (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#L1622)
|
409
410
|
* an :attaching channel (#RTL3b)
|
410
|
-
* [transitions state to :detached](./spec/acceptance/realtime/channel_spec.rb#
|
411
|
+
* [transitions state to :detached](./spec/acceptance/realtime/channel_spec.rb#L1633)
|
411
412
|
* a :detached channel
|
412
|
-
* [remains in the :detached state (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#
|
413
|
+
* [remains in the :detached state (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#L1648)
|
413
414
|
* a :failed channel
|
414
|
-
* [remains in the :failed state and retains the error_reason (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#
|
415
|
+
* [remains in the :failed state and retains the error_reason (#RTL3b)](./spec/acceptance/realtime/channel_spec.rb#L1668)
|
415
416
|
* a channel ATTACH request when connection CLOSED
|
416
|
-
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#
|
417
|
+
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#L1688)
|
417
418
|
* a channel ATTACH request when connection CLOSING
|
418
|
-
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#
|
419
|
+
* [fails the deferrable (#RTL4b)](./spec/acceptance/realtime/channel_spec.rb#L1702)
|
419
420
|
* :suspended
|
420
421
|
* an :attaching channel
|
421
|
-
* [transitions state to :suspended (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#
|
422
|
+
* [transitions state to :suspended (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#L1718)
|
422
423
|
* an :attached channel
|
423
|
-
* [transitions state to :suspended (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#
|
424
|
-
* [transitions state automatically to :attaching once the connection is re-established (#RTN15c3)](./spec/acceptance/realtime/channel_spec.rb#
|
424
|
+
* [transitions state to :suspended (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#L1732)
|
425
|
+
* [transitions state automatically to :attaching once the connection is re-established (#RTN15c3)](./spec/acceptance/realtime/channel_spec.rb#L1741)
|
425
426
|
* a :detached channel
|
426
|
-
* [remains in the :detached state (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#
|
427
|
+
* [remains in the :detached state (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#L1755)
|
427
428
|
* a :failed channel
|
428
|
-
* [remains in the :failed state and retains the error_reason (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#
|
429
|
+
* [remains in the :failed state and retains the error_reason (#RTL3c)](./spec/acceptance/realtime/channel_spec.rb#L1775)
|
429
430
|
* a channel ATTACH request when connection SUSPENDED (#RTL4b)
|
430
|
-
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#
|
431
|
+
* [fails the deferrable](./spec/acceptance/realtime/channel_spec.rb#L1797)
|
431
432
|
* :connected
|
432
433
|
* a :suspended channel
|
433
|
-
* [is automatically reattached (#RTL3d)](./spec/acceptance/realtime/channel_spec.rb#
|
434
|
+
* [is automatically reattached (#RTL3d)](./spec/acceptance/realtime/channel_spec.rb#L1813)
|
434
435
|
* when re-attach attempt fails
|
435
|
-
* [returns to a suspended state (#RTL3d)](./spec/acceptance/realtime/channel_spec.rb#
|
436
|
+
* [returns to a suspended state (#RTL3d)](./spec/acceptance/realtime/channel_spec.rb#L1830)
|
436
437
|
* :disconnected
|
437
438
|
* with an initialized channel
|
438
|
-
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#
|
439
|
+
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#L1856)
|
439
440
|
* with an attaching channel
|
440
|
-
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#
|
441
|
+
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#L1869)
|
441
442
|
* with an attached channel
|
442
|
-
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#
|
443
|
+
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#L1884)
|
443
444
|
* with a detached channel
|
444
|
-
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#
|
445
|
+
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#L1896)
|
445
446
|
* with a failed channel
|
446
|
-
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#
|
447
|
+
* [has no effect on the channel states (#RTL3e)](./spec/acceptance/realtime/channel_spec.rb#L1918)
|
447
448
|
* #presence
|
448
|
-
* [returns a Ably::Realtime::Presence object](./spec/acceptance/realtime/channel_spec.rb#
|
449
|
+
* [returns a Ably::Realtime::Presence object](./spec/acceptance/realtime/channel_spec.rb#L1933)
|
449
450
|
* channel state change
|
450
|
-
* [emits a ChannelStateChange object](./spec/acceptance/realtime/channel_spec.rb#
|
451
|
+
* [emits a ChannelStateChange object](./spec/acceptance/realtime/channel_spec.rb#L1940)
|
451
452
|
* ChannelStateChange object
|
452
|
-
* [has current state](./spec/acceptance/realtime/channel_spec.rb#
|
453
|
-
* [has a previous state](./spec/acceptance/realtime/channel_spec.rb#
|
454
|
-
* [has the event that generated the state change (#TA5)](./spec/acceptance/realtime/channel_spec.rb#
|
455
|
-
* [has an empty reason when there is no error](./spec/acceptance/realtime/channel_spec.rb#
|
453
|
+
* [has current state](./spec/acceptance/realtime/channel_spec.rb#L1949)
|
454
|
+
* [has a previous state](./spec/acceptance/realtime/channel_spec.rb#L1958)
|
455
|
+
* [has the event that generated the state change (#TA5)](./spec/acceptance/realtime/channel_spec.rb#L1967)
|
456
|
+
* [has an empty reason when there is no error](./spec/acceptance/realtime/channel_spec.rb#L1985)
|
456
457
|
* on failure
|
457
|
-
* [has a reason Error object when there is an error on the channel](./spec/acceptance/realtime/channel_spec.rb#
|
458
|
+
* [has a reason Error object when there is an error on the channel](./spec/acceptance/realtime/channel_spec.rb#L1998)
|
458
459
|
* #resume (#RTL2f)
|
459
|
-
* [is false when a channel first attaches](./spec/acceptance/realtime/channel_spec.rb#
|
460
|
-
* [is true when a connection is recovered and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#
|
461
|
-
* [is false when a connection fails to recover and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#
|
460
|
+
* [is false when a channel first attaches](./spec/acceptance/realtime/channel_spec.rb#L2013)
|
461
|
+
* [is true when a connection is recovered and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#L2021)
|
462
|
+
* [is false when a connection fails to recover and the channel is attached](./spec/acceptance/realtime/channel_spec.rb#L2040)
|
462
463
|
* when a resume fails
|
463
|
-
* [is false when a resume fails to recover and the channel is automatically re-attached](./spec/acceptance/realtime/channel_spec.rb#
|
464
|
+
* [is false when a resume fails to recover and the channel is automatically re-attached](./spec/acceptance/realtime/channel_spec.rb#L2062)
|
464
465
|
* moves to
|
465
466
|
* suspended
|
466
|
-
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#
|
467
|
-
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#
|
467
|
+
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#L2085)
|
468
|
+
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#L2108)
|
468
469
|
* failed
|
469
|
-
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#
|
470
|
-
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#
|
470
|
+
* [all queued messages fail with NACK (#RTL11)](./spec/acceptance/realtime/channel_spec.rb#L2085)
|
471
|
+
* [all published messages awaiting an ACK do nothing (#RTL11a)](./spec/acceptance/realtime/channel_spec.rb#L2108)
|
471
472
|
* when it receives a server-initiated DETACHED (#RTL13)
|
472
473
|
* and channel is initialized (#RTL13)
|
473
|
-
* [does nothing](./spec/acceptance/realtime/channel_spec.rb#
|
474
|
+
* [does nothing](./spec/acceptance/realtime/channel_spec.rb#L2143)
|
474
475
|
* and channel is failed
|
475
|
-
* [does nothing (#RTL13)](./spec/acceptance/realtime/channel_spec.rb#
|
476
|
+
* [does nothing (#RTL13)](./spec/acceptance/realtime/channel_spec.rb#L2164)
|
476
477
|
* and channel is attached
|
477
|
-
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#
|
478
|
+
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#L2180)
|
478
479
|
* and channel is suspended
|
479
|
-
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#
|
480
|
+
* [reattaches immediately (#RTL13a)](./spec/acceptance/realtime/channel_spec.rb#L2196)
|
480
481
|
* and channel is attaching
|
481
|
-
* [will move to the SUSPENDED state and then attempt to ATTACH with the ATTACHING state (#RTL13b)](./spec/acceptance/realtime/channel_spec.rb#
|
482
|
+
* [will move to the SUSPENDED state and then attempt to ATTACH with the ATTACHING state (#RTL13b)](./spec/acceptance/realtime/channel_spec.rb#L2218)
|
482
483
|
* when it receives an ERROR ProtocolMessage
|
483
|
-
* [should transition to the failed state and the error_reason should be set (#RTL14)](./spec/acceptance/realtime/channel_spec.rb#
|
484
|
+
* [should transition to the failed state and the error_reason should be set (#RTL14)](./spec/acceptance/realtime/channel_spec.rb#L2266)
|
484
485
|
|
485
486
|
### Ably::Realtime::Channels
|
486
487
|
_(see [spec/acceptance/realtime/channels_spec.rb](./spec/acceptance/realtime/channels_spec.rb))_
|
@@ -519,63 +520,67 @@ _(see [spec/acceptance/realtime/client_spec.rb](./spec/acceptance/realtime/clien
|
|
519
520
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L69)
|
520
521
|
* with valid :key and :use_token_auth option set to true
|
521
522
|
* [automatically authorizes on connect and generates a token](./spec/acceptance/realtime/client_spec.rb#L82)
|
522
|
-
* with client_id
|
523
|
-
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L95)
|
524
523
|
* with TLS disabled
|
525
524
|
* and a pre-generated Token provided with the :token option
|
526
525
|
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L69)
|
527
526
|
* with valid :key and :use_token_auth option set to true
|
528
527
|
* [automatically authorizes on connect and generates a token](./spec/acceptance/realtime/client_spec.rb#L82)
|
529
|
-
* with client_id
|
530
|
-
* [connects using token auth](./spec/acceptance/realtime/client_spec.rb#L95)
|
531
528
|
* with a Proc for the :auth_callback option
|
532
|
-
* [calls the Proc](./spec/acceptance/realtime/client_spec.rb#
|
533
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/realtime/client_spec.rb#
|
529
|
+
* [calls the Proc](./spec/acceptance/realtime/client_spec.rb#L104)
|
530
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/realtime/client_spec.rb#L111)
|
534
531
|
* when the returned token has a client_id
|
535
|
-
* [sets Auth#client_id to the new token's client_id immediately when connecting](./spec/acceptance/realtime/client_spec.rb#
|
536
|
-
* [sets Client#client_id to the new token's client_id immediately when connecting](./spec/acceptance/realtime/client_spec.rb#
|
532
|
+
* [sets Auth#client_id to the new token's client_id immediately when connecting](./spec/acceptance/realtime/client_spec.rb#L119)
|
533
|
+
* [sets Client#client_id to the new token's client_id immediately when connecting](./spec/acceptance/realtime/client_spec.rb#L127)
|
537
534
|
* with a wildcard client_id token
|
538
535
|
* and an explicit client_id in ClientOptions
|
539
|
-
* [allows uses the explicit client_id in the connection](./spec/acceptance/realtime/client_spec.rb#
|
536
|
+
* [allows uses the explicit client_id in the connection](./spec/acceptance/realtime/client_spec.rb#L145)
|
540
537
|
* and client_id omitted in ClientOptions
|
541
|
-
* [uses the token provided clientId in the connection](./spec/acceptance/realtime/client_spec.rb#
|
538
|
+
* [uses the token provided clientId in the connection](./spec/acceptance/realtime/client_spec.rb#L161)
|
542
539
|
* with an invalid wildcard "*" :client_id
|
543
|
-
* [raises an exception](./spec/acceptance/realtime/client_spec.rb#
|
540
|
+
* [raises an exception](./spec/acceptance/realtime/client_spec.rb#L177)
|
544
541
|
* realtime connection settings
|
545
542
|
* defaults
|
546
|
-
* [disconnected_retry_timeout is 15s](./spec/acceptance/realtime/client_spec.rb#
|
547
|
-
* [suspended_retry_timeout is 30s](./spec/acceptance/realtime/client_spec.rb#
|
543
|
+
* [disconnected_retry_timeout is 15s](./spec/acceptance/realtime/client_spec.rb#L186)
|
544
|
+
* [suspended_retry_timeout is 30s](./spec/acceptance/realtime/client_spec.rb#L191)
|
548
545
|
* overriden in ClientOptions
|
549
|
-
* [disconnected_retry_timeout is updated](./spec/acceptance/realtime/client_spec.rb#
|
550
|
-
* [suspended_retry_timeout is updated](./spec/acceptance/realtime/client_spec.rb#
|
546
|
+
* [disconnected_retry_timeout is updated](./spec/acceptance/realtime/client_spec.rb#L200)
|
547
|
+
* [suspended_retry_timeout is updated](./spec/acceptance/realtime/client_spec.rb#L205)
|
551
548
|
* #connection
|
552
|
-
* [provides access to the Connection object](./spec/acceptance/realtime/client_spec.rb#
|
549
|
+
* [provides access to the Connection object](./spec/acceptance/realtime/client_spec.rb#L214)
|
553
550
|
* #channels
|
554
|
-
* [provides access to the Channels collection object](./spec/acceptance/realtime/client_spec.rb#
|
551
|
+
* [provides access to the Channels collection object](./spec/acceptance/realtime/client_spec.rb#L221)
|
555
552
|
* #auth
|
556
|
-
* [provides access to the Realtime::Auth object](./spec/acceptance/realtime/client_spec.rb#
|
553
|
+
* [provides access to the Realtime::Auth object](./spec/acceptance/realtime/client_spec.rb#L228)
|
557
554
|
* #request (#RSC19*)
|
558
555
|
* get
|
559
|
-
* [returns an HttpPaginatedResponse object](./spec/acceptance/realtime/client_spec.rb#
|
556
|
+
* [returns an HttpPaginatedResponse object](./spec/acceptance/realtime/client_spec.rb#L240)
|
560
557
|
* 404 request to invalid URL
|
561
|
-
* [returns an object with 404 status code and error message](./spec/acceptance/realtime/client_spec.rb#
|
558
|
+
* [returns an object with 404 status code and error message](./spec/acceptance/realtime/client_spec.rb#L249)
|
562
559
|
* paged results
|
563
|
-
* [provides paging](./spec/acceptance/realtime/client_spec.rb#
|
560
|
+
* [provides paging](./spec/acceptance/realtime/client_spec.rb#L263)
|
561
|
+
* post
|
562
|
+
* [supports post](./spec/acceptance/realtime/client_spec.rb#L294)
|
563
|
+
* delete
|
564
|
+
* [supports delete](./spec/acceptance/realtime/client_spec.rb#L308)
|
565
|
+
* patch
|
566
|
+
* [supports patch](./spec/acceptance/realtime/client_spec.rb#L325)
|
567
|
+
* put
|
568
|
+
* [supports put](./spec/acceptance/realtime/client_spec.rb#L349)
|
564
569
|
* #publish (#TBC)
|
565
|
-
* [publishing a message implicity connects and publishes the message successfully on the provided channel](./spec/acceptance/realtime/client_spec.rb#
|
566
|
-
* [publishing does not result in a channel being created](./spec/acceptance/realtime/client_spec.rb#
|
567
|
-
* [publishing supports an array of Message objects](./spec/acceptance/realtime/client_spec.rb#
|
568
|
-
* [publishing supports an array of Hash objects](./spec/acceptance/realtime/client_spec.rb#
|
569
|
-
* [publishing on a closed connection fails](./spec/acceptance/realtime/client_spec.rb#
|
570
|
+
* [publishing a message implicity connects and publishes the message successfully on the provided channel](./spec/acceptance/realtime/client_spec.rb#L367)
|
571
|
+
* [publishing does not result in a channel being created](./spec/acceptance/realtime/client_spec.rb#L379)
|
572
|
+
* [publishing supports an array of Message objects](./spec/acceptance/realtime/client_spec.rb#L407)
|
573
|
+
* [publishing supports an array of Hash objects](./spec/acceptance/realtime/client_spec.rb#L419)
|
574
|
+
* [publishing on a closed connection fails](./spec/acceptance/realtime/client_spec.rb#L431)
|
570
575
|
* with extras
|
571
|
-
* [publishing supports extras](./spec/acceptance/realtime/client_spec.rb#
|
576
|
+
* [publishing supports extras](./spec/acceptance/realtime/client_spec.rb#L395)
|
572
577
|
* queue_messages ClientOption
|
573
578
|
* when true
|
574
|
-
* [will queue messages whilst connecting and publish once connected](./spec/acceptance/realtime/client_spec.rb#
|
579
|
+
* [will queue messages whilst connecting and publish once connected](./spec/acceptance/realtime/client_spec.rb#L447)
|
575
580
|
* when false
|
576
|
-
* [will reject messages on an initializing connection](./spec/acceptance/realtime/client_spec.rb#
|
581
|
+
* [will reject messages on an initializing connection](./spec/acceptance/realtime/client_spec.rb#L464)
|
577
582
|
* with more than allowed messages in a single publish
|
578
|
-
* [rejects the publish](./spec/acceptance/realtime/client_spec.rb#
|
583
|
+
* [rejects the publish](./spec/acceptance/realtime/client_spec.rb#L481)
|
579
584
|
|
580
585
|
### Ably::Realtime::Connection failures
|
581
586
|
_(see [spec/acceptance/realtime/connection_failures_spec.rb](./spec/acceptance/realtime/connection_failures_spec.rb))_
|
@@ -592,331 +597,348 @@ _(see [spec/acceptance/realtime/connection_failures_spec.rb](./spec/acceptance/r
|
|
592
597
|
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L62)
|
593
598
|
* request fails due to invalid content
|
594
599
|
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L92)
|
600
|
+
* request fails due to slow response and subsequent timeout
|
601
|
+
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L127)
|
602
|
+
* request fails once due to slow response but succeeds the second time
|
603
|
+
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L165)
|
595
604
|
* existing CONNECTED connection
|
596
605
|
* authorize request failure leaves connection in existing condition
|
597
|
-
* [the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
606
|
+
* [the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L186)
|
598
607
|
* with auth_callback
|
599
608
|
* opening a new connection
|
600
609
|
* when callback fails due to an exception
|
601
|
-
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
610
|
+
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L214)
|
602
611
|
* existing CONNECTED connection
|
603
612
|
* when callback fails due to the request taking longer than realtime_request_timeout
|
604
|
-
* [the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
613
|
+
* [the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L245)
|
605
614
|
* automatic connection retry
|
606
615
|
* with invalid WebSocket host
|
607
616
|
* when disconnected
|
608
|
-
* [enters the suspended state after multiple attempts to connect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
617
|
+
* [enters the suspended state after multiple attempts to connect](./spec/acceptance/realtime/connection_failures_spec.rb#L310)
|
609
618
|
* for the first time
|
610
|
-
* [reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt](./spec/acceptance/realtime/connection_failures_spec.rb#
|
619
|
+
* [reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt](./spec/acceptance/realtime/connection_failures_spec.rb#L331)
|
611
620
|
* #close
|
612
|
-
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
621
|
+
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L348)
|
613
622
|
* when connection state is :suspended
|
614
|
-
* [stays in the suspended state after any number of reconnection attempts](./spec/acceptance/realtime/connection_failures_spec.rb#
|
623
|
+
* [stays in the suspended state after any number of reconnection attempts](./spec/acceptance/realtime/connection_failures_spec.rb#L367)
|
615
624
|
* for the first time
|
616
|
-
* [waits suspended_retry_timeout before attempting to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
625
|
+
* [waits suspended_retry_timeout before attempting to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#L390)
|
617
626
|
* #close
|
618
|
-
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
627
|
+
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L412)
|
619
628
|
* when connection state is :failed
|
620
629
|
* #close
|
621
|
-
* [will not transition state to :close and fails with an InvalidStateChange exception](./spec/acceptance/realtime/connection_failures_spec.rb#
|
630
|
+
* [will not transition state to :close and fails with an InvalidStateChange exception](./spec/acceptance/realtime/connection_failures_spec.rb#L431)
|
622
631
|
* #error_reason
|
623
|
-
* [contains the error when state is disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#
|
624
|
-
* [contains the error when state is suspended](./spec/acceptance/realtime/connection_failures_spec.rb#
|
625
|
-
* [contains the error when state is failed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
626
|
-
* [is reset to nil when :connected](./spec/acceptance/realtime/connection_failures_spec.rb#
|
627
|
-
* [is reset to nil when :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
632
|
+
* [contains the error when state is disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#L452)
|
633
|
+
* [contains the error when state is suspended](./spec/acceptance/realtime/connection_failures_spec.rb#L452)
|
634
|
+
* [contains the error when state is failed](./spec/acceptance/realtime/connection_failures_spec.rb#L452)
|
635
|
+
* [is reset to nil when :connected](./spec/acceptance/realtime/connection_failures_spec.rb#L466)
|
636
|
+
* [is reset to nil when :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L477)
|
628
637
|
* #connect
|
629
638
|
* connection opening times out
|
630
|
-
* [attempts to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
639
|
+
* [attempts to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#L508)
|
631
640
|
* when retry intervals are stubbed to attempt reconnection quickly
|
632
|
-
* [never calls the provided success block](./spec/acceptance/realtime/connection_failures_spec.rb#
|
641
|
+
* [never calls the provided success block](./spec/acceptance/realtime/connection_failures_spec.rb#L532)
|
633
642
|
* connection resume
|
634
643
|
* when DISCONNECTED ProtocolMessage received from the server
|
635
|
-
* [reconnects automatically and immediately](./spec/acceptance/realtime/connection_failures_spec.rb#
|
644
|
+
* [reconnects automatically and immediately](./spec/acceptance/realtime/connection_failures_spec.rb#L563)
|
636
645
|
* connection state freshness is monitored
|
637
|
-
* [resumes connections when disconnected within the connection_state_ttl period (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
646
|
+
* [resumes connections when disconnected within the connection_state_ttl period (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#L584)
|
638
647
|
* when connection_state_ttl period has passed since being disconnected
|
639
|
-
* [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#
|
648
|
+
* [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#L624)
|
640
649
|
* when connection_state_ttl period has passed since last activity on the connection
|
641
|
-
* [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#
|
642
|
-
* [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#
|
643
|
-
* [still reattaches the channels automatically following a new connection being established (#RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
650
|
+
* [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#L677)
|
651
|
+
* [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#L711)
|
652
|
+
* [still reattaches the channels automatically following a new connection being established (#RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L746)
|
644
653
|
* and subsequently fails to reconnect
|
645
|
-
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#
|
654
|
+
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#L805)
|
646
655
|
* when websocket transport is abruptly disconnected
|
647
|
-
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#
|
656
|
+
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#L848)
|
648
657
|
* hosts used
|
649
|
-
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
658
|
+
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#L864)
|
650
659
|
* after successfully reconnecting and resuming
|
651
|
-
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
652
|
-
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#
|
653
|
-
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
654
|
-
* [retains the
|
660
|
+
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#L888)
|
661
|
+
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#L903)
|
662
|
+
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#L929)
|
663
|
+
* [retains the client_msg_serial (#RTN15c2, #RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L990)
|
655
664
|
* when messages were published whilst the client was disconnected
|
656
|
-
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#
|
665
|
+
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#L957)
|
657
666
|
* when failing to resume
|
658
667
|
* because the connection_key is not or no longer valid
|
659
|
-
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#
|
660
|
-
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
661
|
-
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
662
|
-
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
663
|
-
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#
|
664
|
-
* [
|
668
|
+
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#L1030)
|
669
|
+
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1045)
|
670
|
+
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1083)
|
671
|
+
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1119)
|
672
|
+
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#L1157)
|
673
|
+
* [continues to use the client_msg_serial (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1172)
|
665
674
|
* as the DISCONNECTED window to resume has passed
|
666
|
-
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#
|
675
|
+
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#L1209)
|
667
676
|
* when an ERROR protocol message is received
|
668
677
|
* whilst connecting
|
669
678
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
670
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
679
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1240)
|
671
680
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
672
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
681
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1256)
|
673
682
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
674
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
683
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1269)
|
675
684
|
* whilst connected
|
676
685
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
677
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
686
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1240)
|
678
687
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
679
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
688
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1256)
|
680
689
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
681
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
690
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1269)
|
682
691
|
* whilst resuming
|
683
692
|
* with a token error code in the region 40140 <= code < 40150 (RTN15c5)
|
684
|
-
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#
|
693
|
+
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#L1313)
|
685
694
|
* with any other error (#RTN15c4)
|
686
|
-
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
695
|
+
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#L1345)
|
687
696
|
* fallback host feature
|
688
697
|
* with custom realtime websocket host option
|
689
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
698
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1389)
|
690
699
|
* with custom realtime websocket port option
|
691
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
700
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1407)
|
692
701
|
* with non-production environment
|
693
|
-
* [does not use a fallback host by default](./spec/acceptance/realtime/connection_failures_spec.rb#
|
702
|
+
* [does not use a fallback host by default](./spec/acceptance/realtime/connection_failures_spec.rb#L1426)
|
694
703
|
* :fallback_hosts_use_default is true
|
695
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
696
|
-
* [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#
|
704
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#L1444)
|
705
|
+
* [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#L1462)
|
697
706
|
* :fallback_hosts array is provided
|
698
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
707
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1490)
|
699
708
|
* with production environment
|
700
709
|
* when the Internet is down
|
701
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
710
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1526)
|
702
711
|
* when the Internet is up
|
703
712
|
* and default options
|
704
|
-
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#
|
705
|
-
* [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#
|
706
|
-
* [uses the correct host name for the WebSocket requests to the fallback hosts](./spec/acceptance/realtime/connection_failures_spec.rb#
|
713
|
+
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#L1549)
|
714
|
+
* [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#L1568)
|
715
|
+
* [uses the correct host name for the WebSocket requests to the fallback hosts](./spec/acceptance/realtime/connection_failures_spec.rb#L1591)
|
707
716
|
* :fallback_hosts array is provided by an empty array
|
708
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
717
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1621)
|
709
718
|
* :fallback_hosts array is provided
|
710
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
719
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1641)
|
711
720
|
|
712
721
|
### Ably::Realtime::Connection
|
713
722
|
_(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/connection_spec.rb))_
|
714
723
|
* using JSON protocol
|
715
724
|
* intialization
|
716
725
|
* [connects automatically](./spec/acceptance/realtime/connection_spec.rb#L23)
|
726
|
+
* current_host
|
727
|
+
* [is available immediately after the client is instanced](./spec/acceptance/realtime/connection_spec.rb#L31)
|
717
728
|
* with :auto_connect option set to false
|
718
|
-
* [does not connect automatically](./spec/acceptance/realtime/connection_spec.rb#
|
719
|
-
* [connects when method #connect is called](./spec/acceptance/realtime/connection_spec.rb#
|
729
|
+
* [does not connect automatically](./spec/acceptance/realtime/connection_spec.rb#L42)
|
730
|
+
* [connects when method #connect is called](./spec/acceptance/realtime/connection_spec.rb#L50)
|
720
731
|
* with token auth
|
721
732
|
* for renewable tokens
|
722
733
|
* that are valid for the duration of the test
|
723
734
|
* with valid pre authorized token expiring in the future
|
724
|
-
* [uses the existing token created by Auth](./spec/acceptance/realtime/connection_spec.rb#
|
725
|
-
* with implicit authorisation
|
726
|
-
* [uses the token created by the implicit authorisation](./spec/acceptance/realtime/connection_spec.rb#L77)
|
735
|
+
* [uses the existing token created by Auth](./spec/acceptance/realtime/connection_spec.rb#L72)
|
727
736
|
* that expire
|
728
737
|
* opening a new connection
|
729
738
|
* with almost expired tokens
|
730
|
-
* [renews token every time after it expires](./spec/acceptance/realtime/connection_spec.rb#
|
739
|
+
* [renews token every time after it expires](./spec/acceptance/realtime/connection_spec.rb#L106)
|
731
740
|
* with immediately expired token
|
732
|
-
* [renews the token on connect, and makes one immediate subsequent attempt to obtain a new token (#RSA4b)](./spec/acceptance/realtime/connection_spec.rb#
|
741
|
+
* [renews the token on connect, and makes one immediate subsequent attempt to obtain a new token (#RSA4b)](./spec/acceptance/realtime/connection_spec.rb#L136)
|
733
742
|
* when disconnected_retry_timeout is 0.5 seconds
|
734
|
-
* [renews the token on connect, and continues to attempt renew based on the retry schedule](./spec/acceptance/realtime/connection_spec.rb#
|
743
|
+
* [renews the token on connect, and continues to attempt renew based on the retry schedule](./spec/acceptance/realtime/connection_spec.rb#L151)
|
735
744
|
* using implicit token auth
|
736
|
-
* [uses the primary host for subsequent connection and auth requests](./spec/acceptance/realtime/connection_spec.rb#
|
745
|
+
* [uses the primary host for subsequent connection and auth requests](./spec/acceptance/realtime/connection_spec.rb#L181)
|
737
746
|
* when connected with a valid non-expired token
|
738
747
|
* that then expires following the connection being opened
|
739
748
|
* the server
|
740
|
-
* [disconnects the client, and the client automatically renews the token and then reconnects](./spec/acceptance/realtime/connection_spec.rb#
|
749
|
+
* [disconnects the client, and the client automatically renews the token and then reconnects](./spec/acceptance/realtime/connection_spec.rb#L212)
|
741
750
|
* connection state
|
742
|
-
* [retains messages published when disconnected three times during authentication](./spec/acceptance/realtime/connection_spec.rb#
|
751
|
+
* [retains messages published when disconnected three times during authentication](./spec/acceptance/realtime/connection_spec.rb#L272)
|
743
752
|
* and subsequent token is invalid
|
744
|
-
* [transitions the connection to the failed state](./spec/acceptance/realtime/connection_spec.rb#
|
753
|
+
* [transitions the connection to the failed state](./spec/acceptance/realtime/connection_spec.rb#L307)
|
745
754
|
* for non-renewable tokens
|
746
755
|
* that are expired
|
747
756
|
* opening a new connection
|
748
|
-
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#
|
757
|
+
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#L337)
|
749
758
|
* when connected
|
750
|
-
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#
|
759
|
+
* [transitions state to failed (#RSA4a)](./spec/acceptance/realtime/connection_spec.rb#L353)
|
751
760
|
* with opaque token string that contain an implicit client_id
|
752
761
|
* string
|
753
|
-
* [sets the Client#client_id and Auth#client_id once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#
|
762
|
+
* [sets the Client#client_id and Auth#client_id once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#L373)
|
754
763
|
* that is incompatible with the current client client_id
|
755
|
-
* [fails the connection](./spec/acceptance/realtime/connection_spec.rb#
|
764
|
+
* [fails the connection](./spec/acceptance/realtime/connection_spec.rb#L385)
|
756
765
|
* wildcard
|
757
|
-
* [configures the Client#client_id and Auth#client_id with a wildcard once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#
|
766
|
+
* [configures the Client#client_id and Auth#client_id with a wildcard once CONNECTED](./spec/acceptance/realtime/connection_spec.rb#L399)
|
758
767
|
* initialization state changes
|
759
768
|
* with implicit #connect
|
760
|
-
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#
|
769
|
+
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L431)
|
761
770
|
* with explicit #connect
|
762
|
-
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#
|
771
|
+
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L437)
|
763
772
|
* #connect
|
764
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
765
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
766
|
-
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#
|
773
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L445)
|
774
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L450)
|
775
|
+
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#L457)
|
767
776
|
* with invalid auth details
|
768
|
-
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#
|
777
|
+
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#L486)
|
769
778
|
* when already connected
|
770
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
779
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L502)
|
771
780
|
* connection#id
|
772
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
781
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L516)
|
773
782
|
* connection#key
|
774
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
783
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L523)
|
775
784
|
* once connected
|
776
785
|
* connection#id
|
777
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
778
|
-
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
779
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
786
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L534)
|
787
|
+
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#L541)
|
788
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L548)
|
780
789
|
* connection#key
|
781
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
782
|
-
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#
|
783
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
790
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L557)
|
791
|
+
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#L564)
|
792
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L571)
|
784
793
|
* following a previous connection being opened and closed
|
785
|
-
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#
|
794
|
+
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#L581)
|
786
795
|
* when closing
|
787
|
-
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#
|
796
|
+
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#L598)
|
788
797
|
* #serial connection serial
|
789
|
-
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#
|
790
|
-
* [is set to 0 when a message is received back](./spec/acceptance/realtime/connection_spec.rb#
|
791
|
-
* [is set to 1 when the second message is received](./spec/acceptance/realtime/connection_spec.rb#
|
798
|
+
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#L615)
|
799
|
+
* [is set to 0 when a message is received back](./spec/acceptance/realtime/connection_spec.rb#L638)
|
800
|
+
* [is set to 1 when the second message is received](./spec/acceptance/realtime/connection_spec.rb#L646)
|
792
801
|
* when a message is sent but the ACK has not yet been received
|
793
|
-
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#
|
802
|
+
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#L623)
|
803
|
+
* #msgSerial
|
804
|
+
* when messages are queued for publish before a connection is established
|
805
|
+
* [the msgSerial is always incrementing (and not reset when the new connection is established) ensuring messages are never de-duped by the realtime service](./spec/acceptance/realtime/connection_spec.rb#L674)
|
794
806
|
* #close
|
795
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
796
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
807
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L694)
|
808
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L701)
|
797
809
|
* when already closed
|
798
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
810
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L712)
|
799
811
|
* when connection state is
|
800
812
|
* :initialized
|
801
|
-
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#
|
813
|
+
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#L739)
|
802
814
|
* :connected
|
803
|
-
* [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#
|
815
|
+
* [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#L756)
|
804
816
|
* with an unresponsive connection
|
805
|
-
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#
|
817
|
+
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#L783)
|
806
818
|
* #ping
|
807
|
-
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#
|
808
|
-
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#
|
809
|
-
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#
|
819
|
+
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#L805)
|
820
|
+
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#L815)
|
821
|
+
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#L839)
|
810
822
|
* with incompatible states
|
811
823
|
* when not connected
|
812
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
824
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L852)
|
813
825
|
* when suspended
|
814
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
826
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L861)
|
815
827
|
* when failed
|
816
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
828
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L873)
|
817
829
|
* when closed
|
818
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
830
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L885)
|
819
831
|
* when it becomes closed
|
820
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
832
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L899)
|
821
833
|
* with a success block that raises an exception
|
822
|
-
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#
|
834
|
+
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#L912)
|
823
835
|
* when ping times out
|
824
|
-
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#
|
825
|
-
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#
|
836
|
+
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#L926)
|
837
|
+
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#L945)
|
826
838
|
* Heartbeats (#RTN23)
|
827
839
|
* heartbeat interval
|
828
840
|
* when reduced artificially
|
829
|
-
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
830
|
-
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
831
|
-
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
841
|
+
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L972)
|
842
|
+
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L982)
|
843
|
+
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L993)
|
832
844
|
* transport-level heartbeats are supported in the websocket transport
|
833
|
-
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#
|
834
|
-
* [receives websocket heartbeat messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#
|
845
|
+
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L1008)
|
846
|
+
* [receives websocket heartbeat messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L1017)
|
835
847
|
* with websocket heartbeats disabled (undocumented)
|
836
|
-
*
|
837
|
-
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#
|
848
|
+
* [does not provide the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L1033)
|
849
|
+
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L1042)
|
838
850
|
* #details
|
839
|
-
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#
|
840
|
-
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
841
|
-
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
851
|
+
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#L1060)
|
852
|
+
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1067)
|
853
|
+
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1076)
|
842
854
|
* with a different default connection_state_ttl
|
843
|
-
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#
|
855
|
+
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#L1097)
|
844
856
|
* recovery
|
845
857
|
* #recovery_key
|
846
|
-
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#
|
847
|
-
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#
|
848
|
-
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#
|
858
|
+
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#L1134)
|
859
|
+
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#L1162)
|
860
|
+
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#L1191)
|
849
861
|
* opening a new connection using a recently disconnected connection's #recovery_key
|
850
862
|
* connection#id after recovery
|
851
|
-
* [remains the same](./spec/acceptance/realtime/connection_spec.rb#
|
863
|
+
* [remains the same](./spec/acceptance/realtime/connection_spec.rb#L1203)
|
852
864
|
* when messages have been sent whilst the old connection is disconnected
|
853
865
|
* the new connection
|
854
|
-
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#
|
866
|
+
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#L1239)
|
867
|
+
* when messages have been published
|
868
|
+
* the new connection
|
869
|
+
* [uses the correct msgSerial from the old connection](./spec/acceptance/realtime/connection_spec.rb#L1268)
|
870
|
+
* when messages are published before the new connection is recovered
|
871
|
+
* the new connection
|
872
|
+
* [uses the correct msgSerial from the old connection for the queued messages](./spec/acceptance/realtime/connection_spec.rb#L1298)
|
855
873
|
* with :recover option
|
856
874
|
* with invalid syntax
|
857
|
-
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#
|
875
|
+
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#L1345)
|
858
876
|
* with invalid formatted value sent to server
|
859
|
-
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#
|
877
|
+
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#L1354)
|
860
878
|
* with expired (missing) value sent to server
|
861
|
-
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#
|
879
|
+
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#L1369)
|
862
880
|
* with many connections simultaneously
|
863
|
-
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
881
|
+
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#L1388)
|
864
882
|
* when a state transition is unsupported
|
865
|
-
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#
|
883
|
+
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#L1408)
|
866
884
|
* protocol failure
|
867
885
|
* receiving an invalid ProtocolMessage
|
868
|
-
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#
|
886
|
+
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#L1424)
|
869
887
|
* undocumented method
|
870
888
|
* #internet_up?
|
871
|
-
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
889
|
+
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1442)
|
872
890
|
* internet up URL protocol
|
873
891
|
* when using TLS for the connection
|
874
|
-
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
892
|
+
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1453)
|
875
893
|
* when using a non-secured connection
|
876
|
-
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
894
|
+
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1463)
|
877
895
|
* when the Internet is up
|
878
|
-
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#
|
879
|
-
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
896
|
+
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#L1494)
|
897
|
+
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1501)
|
880
898
|
* with a TLS connection
|
881
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
899
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1477)
|
882
900
|
* with a non-TLS connection
|
883
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
901
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1487)
|
884
902
|
* when the Internet is down
|
885
|
-
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#
|
886
|
-
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
903
|
+
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#L1516)
|
904
|
+
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1523)
|
887
905
|
* state change side effects
|
888
906
|
* when connection enters the :disconnected state
|
889
|
-
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#
|
907
|
+
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#L1537)
|
890
908
|
* when connection enters the :suspended state
|
891
|
-
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
909
|
+
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1570)
|
892
910
|
* when connection enters the :failed state
|
893
|
-
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
911
|
+
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1601)
|
894
912
|
* connection state change
|
895
|
-
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#
|
896
|
-
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#
|
913
|
+
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#L1615)
|
914
|
+
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#L1630)
|
897
915
|
* ConnectionStateChange object
|
898
|
-
* [has current state](./spec/acceptance/realtime/connection_spec.rb#
|
899
|
-
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#
|
900
|
-
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#
|
901
|
-
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#
|
916
|
+
* [has current state](./spec/acceptance/realtime/connection_spec.rb#L1638)
|
917
|
+
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#L1646)
|
918
|
+
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#L1654)
|
919
|
+
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#L1670)
|
902
920
|
* on failure
|
903
|
-
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#
|
921
|
+
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#L1683)
|
904
922
|
* retry_in
|
905
|
-
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#
|
906
|
-
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#
|
907
|
-
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#
|
908
|
-
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#
|
923
|
+
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#L1698)
|
924
|
+
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#L1705)
|
925
|
+
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#L1715)
|
926
|
+
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#L1725)
|
909
927
|
* whilst CONNECTED
|
910
928
|
* when a CONNECTED message is received (#RTN24)
|
911
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
912
|
-
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#
|
929
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1760)
|
930
|
+
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#L1775)
|
913
931
|
* when a CONNECTED message with an error is received
|
914
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
932
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1810)
|
915
933
|
* version params
|
916
|
-
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#
|
917
|
-
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#
|
934
|
+
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#L1831)
|
935
|
+
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#L1840)
|
918
936
|
* with variant
|
919
|
-
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#
|
937
|
+
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#L1860)
|
938
|
+
* transport_params (#RTC1f)
|
939
|
+
* [pases transport_params to query](./spec/acceptance/realtime/connection_spec.rb#L1874)
|
940
|
+
* when changing default param
|
941
|
+
* [overrides default param (#RTC1f1)](./spec/acceptance/realtime/connection_spec.rb#L1887)
|
920
942
|
|
921
943
|
### Ably::Realtime::Channel Message
|
922
944
|
_(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/message_spec.rb))_
|
@@ -935,102 +957,102 @@ _(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/mess
|
|
935
957
|
* JSON Object (Hash)
|
936
958
|
* [is encoded and decoded to the same hash](./spec/acceptance/realtime/message_spec.rb#L93)
|
937
959
|
* JSON Array
|
938
|
-
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#
|
960
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#L101)
|
939
961
|
* nil
|
940
|
-
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#
|
962
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/realtime/message_spec.rb#L107)
|
941
963
|
* with unsupported data payload content type
|
942
964
|
* Integer
|
943
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#
|
965
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#L118)
|
944
966
|
* Float
|
945
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#
|
967
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#L127)
|
946
968
|
* Boolean
|
947
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#
|
969
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#L136)
|
948
970
|
* False
|
949
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#
|
971
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/realtime/message_spec.rb#L145)
|
950
972
|
* with ASCII_8BIT message name
|
951
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/message_spec.rb#
|
973
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/message_spec.rb#L154)
|
952
974
|
* when the message publisher has a client_id
|
953
|
-
* [contains a #client_id attribute](./spec/acceptance/realtime/message_spec.rb#
|
975
|
+
* [contains a #client_id attribute](./spec/acceptance/realtime/message_spec.rb#L170)
|
954
976
|
* #connection_id attribute
|
955
977
|
* over realtime
|
956
|
-
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#
|
978
|
+
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#L183)
|
957
979
|
* when retrieved over REST
|
958
|
-
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#
|
980
|
+
* [matches the sender connection#id](./spec/acceptance/realtime/message_spec.rb#L195)
|
959
981
|
* local echo when published
|
960
|
-
* [is enabled by default](./spec/acceptance/realtime/message_spec.rb#
|
982
|
+
* [is enabled by default](./spec/acceptance/realtime/message_spec.rb#L207)
|
961
983
|
* with :echo_messages option set to false
|
962
|
-
* [will not echo messages to the client but will still broadcast messages to other connected clients](./spec/acceptance/realtime/message_spec.rb#
|
963
|
-
* [will not echo messages to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#
|
964
|
-
* [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#
|
984
|
+
* [will not echo messages to the client but will still broadcast messages to other connected clients](./spec/acceptance/realtime/message_spec.rb#L227)
|
985
|
+
* [will not echo messages to the client from other REST clients publishing using that connection_key](./spec/acceptance/realtime/message_spec.rb#L246)
|
986
|
+
* [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#L259)
|
965
987
|
* publishing lots of messages across two connections
|
966
|
-
* [sends and receives the messages on both opened connections and calls the success callbacks for each message published](./spec/acceptance/realtime/message_spec.rb#
|
988
|
+
* [sends and receives the messages on both opened connections and calls the success callbacks for each message published](./spec/acceptance/realtime/message_spec.rb#L285)
|
967
989
|
* without suitable publishing permissions
|
968
|
-
* [calls the error callback](./spec/acceptance/realtime/message_spec.rb#
|
990
|
+
* [calls the error callback](./spec/acceptance/realtime/message_spec.rb#L330)
|
969
991
|
* server incorrectly resends a message that was already received by the client library
|
970
|
-
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#
|
992
|
+
* [discards the message and logs it as an error to the channel](./spec/acceptance/realtime/message_spec.rb#L349)
|
971
993
|
* encoding and decoding encrypted messages
|
972
994
|
* with AES-128-CBC using crypto-data-128.json fixtures (#RTL7d)
|
973
995
|
* item 0 with encrypted encoding utf-8/cipher+aes-128-cbc/base64
|
974
996
|
* behaves like an Ably encrypter and decrypter
|
975
997
|
* with #publish and #subscribe
|
976
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
977
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
998
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
999
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
978
1000
|
* item 1 with encrypted encoding cipher+aes-128-cbc/base64
|
979
1001
|
* behaves like an Ably encrypter and decrypter
|
980
1002
|
* with #publish and #subscribe
|
981
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
982
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1003
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1004
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
983
1005
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
984
1006
|
* behaves like an Ably encrypter and decrypter
|
985
1007
|
* with #publish and #subscribe
|
986
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
987
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1008
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1009
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
988
1010
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
989
1011
|
* behaves like an Ably encrypter and decrypter
|
990
1012
|
* with #publish and #subscribe
|
991
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
992
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1013
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1014
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
993
1015
|
* with AES-256-CBC using crypto-data-256.json fixtures (#RTL7d)
|
994
1016
|
* item 0 with encrypted encoding utf-8/cipher+aes-256-cbc/base64
|
995
1017
|
* behaves like an Ably encrypter and decrypter
|
996
1018
|
* with #publish and #subscribe
|
997
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
998
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1019
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1020
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
999
1021
|
* item 1 with encrypted encoding cipher+aes-256-cbc/base64
|
1000
1022
|
* behaves like an Ably encrypter and decrypter
|
1001
1023
|
* with #publish and #subscribe
|
1002
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1003
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1024
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1025
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
1004
1026
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
1005
1027
|
* behaves like an Ably encrypter and decrypter
|
1006
1028
|
* with #publish and #subscribe
|
1007
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1008
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1029
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1030
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
1009
1031
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
1010
1032
|
* behaves like an Ably encrypter and decrypter
|
1011
1033
|
* with #publish and #subscribe
|
1012
|
-
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1013
|
-
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#
|
1034
|
+
* [encrypts message automatically before they are pushed to the server (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L416)
|
1035
|
+
* [sends and receives messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/realtime/message_spec.rb#L436)
|
1014
1036
|
* with multiple sends from one client to another
|
1015
|
-
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#
|
1016
|
-
* [receives raw messages with the correct encoding](./spec/acceptance/realtime/message_spec.rb#
|
1037
|
+
* [encrypts and decrypts all messages](./spec/acceptance/realtime/message_spec.rb#L475)
|
1038
|
+
* [receives raw messages with the correct encoding](./spec/acceptance/realtime/message_spec.rb#L492)
|
1017
1039
|
* subscribing with a different transport protocol
|
1018
|
-
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
1019
|
-
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
1020
|
-
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#
|
1040
|
+
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L526)
|
1041
|
+
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L526)
|
1042
|
+
* [delivers a Hash payload to the receiver](./spec/acceptance/realtime/message_spec.rb#L526)
|
1021
1043
|
* publishing on an unencrypted channel and subscribing on an encrypted channel with another client
|
1022
|
-
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#
|
1044
|
+
* [does not attempt to decrypt the message](./spec/acceptance/realtime/message_spec.rb#L547)
|
1023
1045
|
* publishing on an encrypted channel and subscribing on an unencrypted channel with another client
|
1024
|
-
* [delivers the message but still encrypted with a value in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
1025
|
-
* [logs a Cipher error (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
1046
|
+
* [delivers the message but still encrypted with a value in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L565)
|
1047
|
+
* [logs a Cipher error (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L576)
|
1026
1048
|
* publishing on an encrypted channel and subscribing with a different algorithm on another client
|
1027
|
-
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
1028
|
-
* [emits a Cipher error on the channel (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#
|
1049
|
+
* [delivers the message but still encrypted with the cipher detials in the #encoding attribute (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L596)
|
1050
|
+
* [emits a Cipher error on the channel (#RTL7e)](./spec/acceptance/realtime/message_spec.rb#L605)
|
1029
1051
|
* publishing on an encrypted channel and subscribing with a different key on another client
|
1030
|
-
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#
|
1031
|
-
* [emits a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#
|
1052
|
+
* [delivers the message but still encrypted with the cipher details in the #encoding attribute](./spec/acceptance/realtime/message_spec.rb#L625)
|
1053
|
+
* [emits a Cipher error on the channel](./spec/acceptance/realtime/message_spec.rb#L636)
|
1032
1054
|
* when message is published, the connection disconnects before the ACK is received, and the connection is resumed
|
1033
|
-
* [publishes the message again, later receives the ACK and only one message is ever received from Ably](./spec/acceptance/realtime/message_spec.rb#
|
1055
|
+
* [publishes the message again, later receives the ACK and only one message is ever received from Ably](./spec/acceptance/realtime/message_spec.rb#L655)
|
1034
1056
|
* when message is published, the connection disconnects before the ACK is received
|
1035
1057
|
* the connection is not resumed
|
1036
1058
|
* [calls the errback for all messages](./spec/acceptance/realtime/message_spec.rb#L697)
|
@@ -1087,11 +1109,6 @@ _(see [spec/acceptance/realtime/presence_history_spec.rb](./spec/acceptance/real
|
|
1087
1109
|
* using JSON protocol
|
1088
1110
|
* [provides up to the moment presence history](./spec/acceptance/realtime/presence_history_spec.rb#L21)
|
1089
1111
|
* [ensures REST presence history message IDs match ProtocolMessage wrapped message and connection IDs via Realtime](./spec/acceptance/realtime/presence_history_spec.rb#L42)
|
1090
|
-
* with option until_attach: true
|
1091
|
-
* [retrieves all presence messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L61)
|
1092
|
-
* [fails with an exception unless state is attached](./spec/acceptance/realtime/presence_history_spec.rb#L106)
|
1093
|
-
* and two pages of messages
|
1094
|
-
* [retrieves two pages of messages before channel was attached](./spec/acceptance/realtime/presence_history_spec.rb#L81)
|
1095
1112
|
|
1096
1113
|
### Ably::Realtime::Presence
|
1097
1114
|
_(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/presence_spec.rb))_
|
@@ -1171,7 +1188,7 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1171
1188
|
* #update
|
1172
1189
|
* [without previous #enter automatically enters](./spec/acceptance/realtime/presence_spec.rb#L1105)
|
1173
1190
|
* [updates the data if :data argument provided](./spec/acceptance/realtime/presence_spec.rb#L1130)
|
1174
|
-
* [updates the data to nil if :data argument is not provided (assumes nil value)](./spec/acceptance/realtime/presence_spec.rb#
|
1191
|
+
* [updates the data to nil if :data argument is not provided (assumes nil value)](./spec/acceptance/realtime/presence_spec.rb#L1142)
|
1175
1192
|
* when ENTERED
|
1176
1193
|
* [has no effect on the state](./spec/acceptance/realtime/presence_spec.rb#L1115)
|
1177
1194
|
* it should behave like a public presence method
|
@@ -1214,16 +1231,16 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1214
1231
|
* if connection fails before success
|
1215
1232
|
* [calls the Deferrable errback if channel is detached](./spec/acceptance/realtime/presence_spec.rb#L331)
|
1216
1233
|
* #leave
|
1217
|
-
* [succeeds and does not emit an event (#RTP10d)](./spec/acceptance/realtime/presence_spec.rb#
|
1234
|
+
* [succeeds and does not emit an event (#RTP10d)](./spec/acceptance/realtime/presence_spec.rb#L1236)
|
1218
1235
|
* :data option
|
1219
1236
|
* when set to a string
|
1220
|
-
* [emits the new data for the leave event](./spec/acceptance/realtime/presence_spec.rb#
|
1237
|
+
* [emits the new data for the leave event](./spec/acceptance/realtime/presence_spec.rb#L1163)
|
1221
1238
|
* when set to nil
|
1222
|
-
* [emits the last value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#
|
1239
|
+
* [emits the last value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#L1178)
|
1223
1240
|
* when not passed as an argument (i.e. nil)
|
1224
|
-
* [emits the previous value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#
|
1241
|
+
* [emits the previous value for the data attribute when leaving](./spec/acceptance/realtime/presence_spec.rb#L1193)
|
1225
1242
|
* and sync is complete
|
1226
|
-
* [does not cache members that have left](./spec/acceptance/realtime/presence_spec.rb#
|
1243
|
+
* [does not cache members that have left](./spec/acceptance/realtime/presence_spec.rb#L1208)
|
1227
1244
|
* it should behave like a public presence method
|
1228
1245
|
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#L293)
|
1229
1246
|
* [allows a block to be passed in that is executed upon success](./spec/acceptance/realtime/presence_spec.rb#L300)
|
@@ -1250,17 +1267,17 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1250
1267
|
* if connection fails before success
|
1251
1268
|
* [calls the Deferrable errback if channel is detached](./spec/acceptance/realtime/presence_spec.rb#L331)
|
1252
1269
|
* :left event
|
1253
|
-
* [emits the data defined in enter](./spec/acceptance/realtime/presence_spec.rb#
|
1254
|
-
* [emits the data defined in update](./spec/acceptance/realtime/presence_spec.rb#
|
1270
|
+
* [emits the data defined in enter](./spec/acceptance/realtime/presence_spec.rb#L1254)
|
1271
|
+
* [emits the data defined in update](./spec/acceptance/realtime/presence_spec.rb#L1267)
|
1255
1272
|
* entering/updating/leaving presence state on behalf of another client_id
|
1256
1273
|
* #enter_client
|
1257
1274
|
* multiple times on the same channel with different client_ids
|
1258
|
-
* [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#
|
1259
|
-
* [enters a channel and sets the data based on the provided :data option](./spec/acceptance/realtime/presence_spec.rb#
|
1275
|
+
* [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#L1292)
|
1276
|
+
* [enters a channel and sets the data based on the provided :data option](./spec/acceptance/realtime/presence_spec.rb#L1306)
|
1260
1277
|
* message #connection_id
|
1261
|
-
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#
|
1278
|
+
* [matches the current client connection_id](./spec/acceptance/realtime/presence_spec.rb#L1327)
|
1262
1279
|
* without necessary capabilities to enter on behalf of another client
|
1263
|
-
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#
|
1280
|
+
* [calls the Deferrable errback on capabilities failure](./spec/acceptance/realtime/presence_spec.rb#L1347)
|
1264
1281
|
* it should behave like a public presence method
|
1265
1282
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1266
1283
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1332,9 +1349,9 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1332
1349
|
* [throws an exception](./spec/acceptance/realtime/presence_spec.rb#L470)
|
1333
1350
|
* #update_client
|
1334
1351
|
* multiple times on the same channel with different client_ids
|
1335
|
-
* [updates the data attribute for the member when :data option provided](./spec/acceptance/realtime/presence_spec.rb#
|
1336
|
-
* [updates the data attribute to null for the member when :data option is not provided (assumed null)](./spec/acceptance/realtime/presence_spec.rb#
|
1337
|
-
* [enters if not already entered](./spec/acceptance/realtime/presence_spec.rb#
|
1352
|
+
* [updates the data attribute for the member when :data option provided](./spec/acceptance/realtime/presence_spec.rb#L1361)
|
1353
|
+
* [updates the data attribute to null for the member when :data option is not provided (assumed null)](./spec/acceptance/realtime/presence_spec.rb#L1387)
|
1354
|
+
* [enters if not already entered](./spec/acceptance/realtime/presence_spec.rb#L1401)
|
1338
1355
|
* it should behave like a public presence method
|
1339
1356
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1340
1357
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1407,14 +1424,14 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1407
1424
|
* #leave_client
|
1408
1425
|
* leaves a channel
|
1409
1426
|
* multiple times on the same channel with different client_ids
|
1410
|
-
* [emits the :leave event for each client_id](./spec/acceptance/realtime/presence_spec.rb#
|
1411
|
-
* [succeeds if that client_id has not previously entered the channel](./spec/acceptance/realtime/presence_spec.rb#
|
1427
|
+
* [emits the :leave event for each client_id](./spec/acceptance/realtime/presence_spec.rb#L1433)
|
1428
|
+
* [succeeds if that client_id has not previously entered the channel](./spec/acceptance/realtime/presence_spec.rb#L1459)
|
1412
1429
|
* with a new value in :data option
|
1413
|
-
* [emits the leave event with the new data value](./spec/acceptance/realtime/presence_spec.rb#
|
1430
|
+
* [emits the leave event with the new data value](./spec/acceptance/realtime/presence_spec.rb#L1485)
|
1414
1431
|
* with a nil value in :data option
|
1415
|
-
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#
|
1432
|
+
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#L1500)
|
1416
1433
|
* with no :data option
|
1417
|
-
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#
|
1434
|
+
* [emits the leave event with the previous value as a convenience](./spec/acceptance/realtime/presence_spec.rb#L1515)
|
1418
1435
|
* it should behave like a public presence method
|
1419
1436
|
* [raise an exception if the channel is detached](./spec/acceptance/realtime/presence_spec.rb#L63)
|
1420
1437
|
* [raise an exception if the channel becomes detached](./spec/acceptance/realtime/presence_spec.rb#L81)
|
@@ -1485,162 +1502,165 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1485
1502
|
* and an empty client_id
|
1486
1503
|
* [throws an exception](./spec/acceptance/realtime/presence_spec.rb#L470)
|
1487
1504
|
* #get
|
1488
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#
|
1489
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/presence_spec.rb#
|
1490
|
-
* [catches exceptions in the provided method block](./spec/acceptance/realtime/presence_spec.rb#
|
1491
|
-
* [implicitly attaches the channel (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1492
|
-
* [fails if the connection is DETACHED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1493
|
-
* [fails if the connection is FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1494
|
-
* [returns the current members on the channel (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#
|
1495
|
-
* [filters by connection_id option if provided (#RTP11c3)](./spec/acceptance/realtime/presence_spec.rb#
|
1496
|
-
* [filters by client_id option if provided (#RTP11c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1497
|
-
* [does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#
|
1498
|
-
* [returns the list of members and waits for SYNC to complete by default (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#
|
1505
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/presence_spec.rb#L1536)
|
1506
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/presence_spec.rb#L1541)
|
1507
|
+
* [catches exceptions in the provided method block](./spec/acceptance/realtime/presence_spec.rb#L1548)
|
1508
|
+
* [implicitly attaches the channel (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1556)
|
1509
|
+
* [fails if the connection is DETACHED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1591)
|
1510
|
+
* [fails if the connection is FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1606)
|
1511
|
+
* [returns the current members on the channel (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#L1690)
|
1512
|
+
* [filters by connection_id option if provided (#RTP11c3)](./spec/acceptance/realtime/presence_spec.rb#L1707)
|
1513
|
+
* [filters by client_id option if provided (#RTP11c2)](./spec/acceptance/realtime/presence_spec.rb#L1729)
|
1514
|
+
* [does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)](./spec/acceptance/realtime/presence_spec.rb#L1753)
|
1515
|
+
* [returns the list of members and waits for SYNC to complete by default (#RTP11a)](./spec/acceptance/realtime/presence_spec.rb#L1765)
|
1499
1516
|
* when the channel is SUSPENDED
|
1500
1517
|
* with wait_for_sync: true
|
1501
|
-
* [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#
|
1518
|
+
* [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#L1566)
|
1502
1519
|
* with wait_for_sync: false
|
1503
|
-
* [returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)](./spec/acceptance/realtime/presence_spec.rb#
|
1520
|
+
* [returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)](./spec/acceptance/realtime/presence_spec.rb#L1579)
|
1504
1521
|
* during a sync
|
1505
1522
|
* when :wait_for_sync is true
|
1506
|
-
* [fails if the connection becomes FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1507
|
-
* [fails if the channel becomes detached (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#
|
1523
|
+
* [fails if the connection becomes FAILED (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1643)
|
1524
|
+
* [fails if the channel becomes detached (#RTP11b)](./spec/acceptance/realtime/presence_spec.rb#L1666)
|
1508
1525
|
* when a member enters and then leaves
|
1509
|
-
* [has no members](./spec/acceptance/realtime/presence_spec.rb#
|
1526
|
+
* [has no members](./spec/acceptance/realtime/presence_spec.rb#L1778)
|
1510
1527
|
* when a member enters and the presence map is updated
|
1511
|
-
* [adds the member as being :present (#RTP2d)](./spec/acceptance/realtime/presence_spec.rb#
|
1528
|
+
* [adds the member as being :present (#RTP2d)](./spec/acceptance/realtime/presence_spec.rb#L1793)
|
1512
1529
|
* with lots of members on different clients
|
1513
|
-
* [returns a complete list of members on all clients](./spec/acceptance/realtime/presence_spec.rb#
|
1530
|
+
* [returns a complete list of members on all clients](./spec/acceptance/realtime/presence_spec.rb#L1814)
|
1514
1531
|
* #subscribe
|
1515
|
-
* [implicitly attaches](./spec/acceptance/realtime/presence_spec.rb#
|
1532
|
+
* [implicitly attaches](./spec/acceptance/realtime/presence_spec.rb#L1889)
|
1516
1533
|
* with no arguments
|
1517
|
-
* [calls the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#
|
1534
|
+
* [calls the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#L1850)
|
1518
1535
|
* with event name
|
1519
|
-
* [calls the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#
|
1536
|
+
* [calls the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#L1870)
|
1520
1537
|
* with a callback that raises an exception
|
1521
|
-
* [logs the error and continues](./spec/acceptance/realtime/presence_spec.rb#
|
1538
|
+
* [logs the error and continues](./spec/acceptance/realtime/presence_spec.rb#L1902)
|
1522
1539
|
* #unsubscribe
|
1523
1540
|
* with no arguments
|
1524
|
-
* [removes the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#
|
1541
|
+
* [removes the callback for all presence events](./spec/acceptance/realtime/presence_spec.rb#L1923)
|
1525
1542
|
* with event name
|
1526
|
-
* [removes the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#
|
1543
|
+
* [removes the callback for specified presence event](./spec/acceptance/realtime/presence_spec.rb#L1941)
|
1527
1544
|
* REST #get
|
1528
|
-
* [returns current members](./spec/acceptance/realtime/presence_spec.rb#
|
1529
|
-
* [returns no members once left](./spec/acceptance/realtime/presence_spec.rb#
|
1545
|
+
* [returns current members](./spec/acceptance/realtime/presence_spec.rb#L1960)
|
1546
|
+
* [returns no members once left](./spec/acceptance/realtime/presence_spec.rb#L1976)
|
1530
1547
|
* client_id with ASCII_8BIT
|
1531
1548
|
* in connection set up
|
1532
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#
|
1549
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#L1996)
|
1533
1550
|
* in channel options
|
1534
|
-
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#
|
1551
|
+
* [is converted into UTF_8](./spec/acceptance/realtime/presence_spec.rb#L2009)
|
1535
1552
|
* encoding and decoding of presence message data
|
1536
|
-
* [encrypts presence message data](./spec/acceptance/realtime/presence_spec.rb#
|
1553
|
+
* [encrypts presence message data](./spec/acceptance/realtime/presence_spec.rb#L2035)
|
1537
1554
|
* #subscribe
|
1538
|
-
* [emits decrypted enter events](./spec/acceptance/realtime/presence_spec.rb#
|
1539
|
-
* [emits decrypted update events](./spec/acceptance/realtime/presence_spec.rb#
|
1540
|
-
* [emits previously set data for leave events](./spec/acceptance/realtime/presence_spec.rb#
|
1555
|
+
* [emits decrypted enter events](./spec/acceptance/realtime/presence_spec.rb#L2054)
|
1556
|
+
* [emits decrypted update events](./spec/acceptance/realtime/presence_spec.rb#L2066)
|
1557
|
+
* [emits previously set data for leave events](./spec/acceptance/realtime/presence_spec.rb#L2080)
|
1541
1558
|
* #get
|
1542
|
-
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#
|
1559
|
+
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#L2096)
|
1543
1560
|
* REST #get
|
1544
|
-
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#
|
1561
|
+
* [returns a list of members with decrypted data](./spec/acceptance/realtime/presence_spec.rb#L2110)
|
1545
1562
|
* when cipher settings do not match publisher
|
1546
|
-
* [delivers an unencoded presence message left with encoding value](./spec/acceptance/realtime/presence_spec.rb#
|
1547
|
-
* [emits an error when cipher does not match and presence data cannot be decoded](./spec/acceptance/realtime/presence_spec.rb#
|
1563
|
+
* [delivers an unencoded presence message left with encoding value](./spec/acceptance/realtime/presence_spec.rb#L2126)
|
1564
|
+
* [emits an error when cipher does not match and presence data cannot be decoded](./spec/acceptance/realtime/presence_spec.rb#L2139)
|
1548
1565
|
* leaving
|
1549
|
-
* [expect :left event once underlying connection is closed](./spec/acceptance/realtime/presence_spec.rb#
|
1550
|
-
* [expect :left event with client data from enter event](./spec/acceptance/realtime/presence_spec.rb#
|
1566
|
+
* [expect :left event once underlying connection is closed](./spec/acceptance/realtime/presence_spec.rb#L2155)
|
1567
|
+
* [expect :left event with client data from enter event](./spec/acceptance/realtime/presence_spec.rb#L2165)
|
1551
1568
|
* connection failure mid-way through a large member sync
|
1552
|
-
* [resumes the SYNC operation (#RTP3)](./spec/acceptance/realtime/presence_spec.rb#
|
1569
|
+
* [resumes the SYNC operation (#RTP3)](./spec/acceptance/realtime/presence_spec.rb#L2184)
|
1553
1570
|
* server-initiated sync
|
1554
1571
|
* with multiple SYNC pages
|
1555
|
-
* [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#
|
1572
|
+
* [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#L2222)
|
1556
1573
|
* with a single SYNC page
|
1557
|
-
* [is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) ](./spec/acceptance/realtime/presence_spec.rb#
|
1574
|
+
* [is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) ](./spec/acceptance/realtime/presence_spec.rb#L2273)
|
1558
1575
|
* when members exist in the PresenceMap before a SYNC completes
|
1559
|
-
* [removes the members that are no longer present (#RTP19)](./spec/acceptance/realtime/presence_spec.rb#
|
1576
|
+
* [removes the members that are no longer present (#RTP19)](./spec/acceptance/realtime/presence_spec.rb#L2321)
|
1560
1577
|
* when the client does not have presence subscribe privileges but is present on the channel
|
1561
|
-
*
|
1578
|
+
* [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#L2379)
|
1562
1579
|
* local PresenceMap for presence members entered by this client
|
1563
|
-
* [maintains a copy of the member map for any member that shares this connection's connection ID (#RTP17)](./spec/acceptance/realtime/presence_spec.rb#
|
1580
|
+
* [maintains a copy of the member map for any member that shares this connection's connection ID (#RTP17)](./spec/acceptance/realtime/presence_spec.rb#L2427)
|
1581
|
+
* #RTP17b
|
1582
|
+
* FAILED: ~~[updates presence members on leave](./spec/acceptance/realtime/presence_spec.rb#L2455)~~
|
1583
|
+
* [does no update presence members on fabricated leave](./spec/acceptance/realtime/presence_spec.rb#L2480)
|
1564
1584
|
* when a channel becomes attached again
|
1565
1585
|
* and the resume flag is true
|
1566
1586
|
* and the presence flag is false
|
1567
|
-
* [does not send any presence events as the PresenceMap is in sync (#RTP5c1)](./spec/acceptance/realtime/presence_spec.rb#
|
1587
|
+
* [does not send any presence events as the PresenceMap is in sync (#RTP5c1)](./spec/acceptance/realtime/presence_spec.rb#L2527)
|
1568
1588
|
* and the presence flag is true
|
1569
1589
|
* and following the SYNC all local MemberMap members are present in the PresenceMap
|
1570
|
-
* [does nothing as MemberMap is in sync (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1590
|
+
* [does nothing as MemberMap is in sync (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#L2557)
|
1571
1591
|
* and following the SYNC a local MemberMap member is not present in the PresenceMap
|
1572
|
-
* [re-enters the missing members automatically (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#
|
1592
|
+
* [re-enters the missing members automatically (#RTP5c2)](./spec/acceptance/realtime/presence_spec.rb#L2596)
|
1573
1593
|
* and the resume flag is false
|
1574
1594
|
* and the presence flag is false
|
1575
|
-
* [immediately resends all local presence members (#RTP5c2, #RTP19a)](./spec/acceptance/realtime/presence_spec.rb#
|
1595
|
+
* [immediately resends all local presence members (#RTP5c2, #RTP19a)](./spec/acceptance/realtime/presence_spec.rb#L2679)
|
1576
1596
|
* when re-entering a client automatically, if the re-enter fails for any reason
|
1577
|
-
* [should emit an ErrorInfo with error code 91004 (#RTP5c3)](./spec/acceptance/realtime/presence_spec.rb#
|
1597
|
+
* [should emit an ErrorInfo with error code 91004 (#RTP5c3)](./spec/acceptance/realtime/presence_spec.rb#L2730)
|
1578
1598
|
* channel state side effects
|
1579
1599
|
* channel transitions to the FAILED state
|
1580
|
-
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#
|
1600
|
+
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#L2787)
|
1581
1601
|
* channel transitions to the DETACHED state
|
1582
|
-
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#
|
1602
|
+
* [clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)](./spec/acceptance/realtime/presence_spec.rb#L2814)
|
1583
1603
|
* channel transitions to the SUSPENDED state
|
1584
|
-
* [maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)](./spec/acceptance/realtime/presence_spec.rb#
|
1604
|
+
* [maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)](./spec/acceptance/realtime/presence_spec.rb#L2850)
|
1585
1605
|
|
1586
1606
|
### Ably::Realtime::Push::Admin
|
1587
1607
|
_(see [spec/acceptance/realtime/push_admin_spec.rb](./spec/acceptance/realtime/push_admin_spec.rb))_
|
1588
1608
|
* using JSON protocol
|
1589
1609
|
* #publish
|
1590
1610
|
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/push_admin_spec.rb#L35)
|
1591
|
-
* [accepts valid push data and recipient](./spec/acceptance/realtime/push_admin_spec.rb#
|
1611
|
+
* [accepts valid push data and recipient](./spec/acceptance/realtime/push_admin_spec.rb#L125)
|
1592
1612
|
* invalid arguments
|
1593
1613
|
* [raises an exception with a nil recipient](./spec/acceptance/realtime/push_admin_spec.rb#L44)
|
1594
1614
|
* [raises an exception with a empty recipient](./spec/acceptance/realtime/push_admin_spec.rb#L49)
|
1595
1615
|
* [raises an exception with a nil recipient](./spec/acceptance/realtime/push_admin_spec.rb#L54)
|
1596
1616
|
* [raises an exception with a empty recipient](./spec/acceptance/realtime/push_admin_spec.rb#L59)
|
1597
1617
|
* invalid recipient
|
1598
|
-
*
|
1618
|
+
* [raises an error after receiving a 40x realtime response](./spec/acceptance/realtime/push_admin_spec.rb#L68)
|
1599
1619
|
* invalid push data
|
1600
|
-
*
|
1620
|
+
* [raises an error after receiving a 40x realtime response](./spec/acceptance/realtime/push_admin_spec.rb#L79)
|
1601
1621
|
* recipient variable case
|
1602
|
-
* [is converted to snakeCase](./spec/acceptance/realtime/push_admin_spec.rb#
|
1622
|
+
* [is converted to snakeCase](./spec/acceptance/realtime/push_admin_spec.rb#L117)
|
1603
1623
|
* using test environment channel recipient (#RSH1a)
|
1604
|
-
* [triggers a push notification](./spec/acceptance/realtime/push_admin_spec.rb#
|
1624
|
+
* [triggers a push notification](./spec/acceptance/realtime/push_admin_spec.rb#L155)
|
1605
1625
|
* #device_registrations
|
1606
1626
|
* without permissions
|
1607
|
-
* [raises a permissions not authorized exception](./spec/acceptance/realtime/push_admin_spec.rb#
|
1627
|
+
* [raises a permissions not authorized exception](./spec/acceptance/realtime/push_admin_spec.rb#L183)
|
1608
1628
|
* #list
|
1609
|
-
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/realtime/push_admin_spec.rb#
|
1610
|
-
* [supports paging](./spec/acceptance/realtime/push_admin_spec.rb#
|
1611
|
-
* [raises an exception if params are invalid](./spec/acceptance/realtime/push_admin_spec.rb#
|
1629
|
+
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/realtime/push_admin_spec.rb#L233)
|
1630
|
+
* [supports paging](./spec/acceptance/realtime/push_admin_spec.rb#L241)
|
1631
|
+
* [raises an exception if params are invalid](./spec/acceptance/realtime/push_admin_spec.rb#L257)
|
1612
1632
|
* #get
|
1613
|
-
* [returns a DeviceDetails object if a device ID string is provided](./spec/acceptance/realtime/push_admin_spec.rb#
|
1633
|
+
* [returns a DeviceDetails object if a device ID string is provided](./spec/acceptance/realtime/push_admin_spec.rb#L296)
|
1614
1634
|
* with a failed request
|
1615
|
-
* [raises a ResourceMissing exception if device ID does not exist](./spec/acceptance/realtime/push_admin_spec.rb#
|
1635
|
+
* [raises a ResourceMissing exception if device ID does not exist](./spec/acceptance/realtime/push_admin_spec.rb#L313)
|
1616
1636
|
* #save
|
1617
|
-
* [saves the new DeviceDetails Hash object](./spec/acceptance/realtime/push_admin_spec.rb#
|
1637
|
+
* [saves the new DeviceDetails Hash object](./spec/acceptance/realtime/push_admin_spec.rb#L362)
|
1618
1638
|
* with a failed request
|
1619
|
-
* [fails if data is invalid](./spec/acceptance/realtime/push_admin_spec.rb#
|
1639
|
+
* [fails if data is invalid](./spec/acceptance/realtime/push_admin_spec.rb#L380)
|
1620
1640
|
* #remove_where
|
1621
|
-
* [removes all matching device registrations by client_id](./spec/acceptance/realtime/push_admin_spec.rb#
|
1641
|
+
* [removes all matching device registrations by client_id](./spec/acceptance/realtime/push_admin_spec.rb#L418)
|
1622
1642
|
* #remove
|
1623
|
-
* [removes the provided device id string](./spec/acceptance/realtime/push_admin_spec.rb#
|
1643
|
+
* [removes the provided device id string](./spec/acceptance/realtime/push_admin_spec.rb#L457)
|
1624
1644
|
* #channel_subscriptions
|
1625
1645
|
* #list
|
1626
|
-
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/realtime/push_admin_spec.rb#
|
1627
|
-
* [supports paging](./spec/acceptance/realtime/push_admin_spec.rb#
|
1628
|
-
* [raises an exception if none of the required filters are provided](./spec/acceptance/realtime/push_admin_spec.rb#
|
1646
|
+
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/realtime/push_admin_spec.rb#L533)
|
1647
|
+
* [supports paging](./spec/acceptance/realtime/push_admin_spec.rb#L541)
|
1648
|
+
* [raises an exception if none of the required filters are provided](./spec/acceptance/realtime/push_admin_spec.rb#L557)
|
1629
1649
|
* #list_channels
|
1630
|
-
* [returns a PaginatedResult object containing String objects](./spec/acceptance/realtime/push_admin_spec.rb#
|
1650
|
+
* [returns a PaginatedResult object containing String objects](./spec/acceptance/realtime/push_admin_spec.rb#L584)
|
1631
1651
|
* #save
|
1632
|
-
* [saves the new client_id PushChannelSubscription Hash object](./spec/acceptance/realtime/push_admin_spec.rb#
|
1633
|
-
* [raises an exception for invalid params](./spec/acceptance/realtime/push_admin_spec.rb#
|
1652
|
+
* [saves the new client_id PushChannelSubscription Hash object](./spec/acceptance/realtime/push_admin_spec.rb#L599)
|
1653
|
+
* [raises an exception for invalid params](./spec/acceptance/realtime/push_admin_spec.rb#L610)
|
1634
1654
|
* failed requests
|
1635
|
-
* [fails for invalid requests](./spec/acceptance/realtime/push_admin_spec.rb#
|
1655
|
+
* [fails for invalid requests](./spec/acceptance/realtime/push_admin_spec.rb#L623)
|
1636
1656
|
* #remove_where
|
1637
|
-
* [removes matching client_ids](./spec/acceptance/realtime/push_admin_spec.rb#
|
1638
|
-
* [succeeds on no match](./spec/acceptance/realtime/push_admin_spec.rb#
|
1657
|
+
* [removes matching client_ids](./spec/acceptance/realtime/push_admin_spec.rb#L650)
|
1658
|
+
* [succeeds on no match](./spec/acceptance/realtime/push_admin_spec.rb#L677)
|
1639
1659
|
* failed requests
|
1640
|
-
* [device_id and client_id filters in the same request are not supported](./spec/acceptance/realtime/push_admin_spec.rb#
|
1660
|
+
* [device_id and client_id filters in the same request are not supported](./spec/acceptance/realtime/push_admin_spec.rb#L669)
|
1641
1661
|
* #remove
|
1642
|
-
* [removes match for Hash object by channel and client_id](./spec/acceptance/realtime/push_admin_spec.rb#
|
1643
|
-
* [succeeds even if there is no match](./spec/acceptance/realtime/push_admin_spec.rb#
|
1662
|
+
* [removes match for Hash object by channel and client_id](./spec/acceptance/realtime/push_admin_spec.rb#L697)
|
1663
|
+
* [succeeds even if there is no match](./spec/acceptance/realtime/push_admin_spec.rb#L709)
|
1644
1664
|
|
1645
1665
|
### Ably::Realtime::Push
|
1646
1666
|
_(see [spec/acceptance/realtime/push_spec.rb](./spec/acceptance/realtime/push_spec.rb))_
|
@@ -1671,213 +1691,205 @@ _(see [spec/acceptance/realtime/time_spec.rb](./spec/acceptance/realtime/time_sp
|
|
1671
1691
|
### Ably::Auth
|
1672
1692
|
_(see [spec/acceptance/rest/auth_spec.rb](./spec/acceptance/rest/auth_spec.rb))_
|
1673
1693
|
* using JSON protocol
|
1674
|
-
* [has immutable options](./spec/acceptance/rest/auth_spec.rb#
|
1694
|
+
* [has immutable options](./spec/acceptance/rest/auth_spec.rb#L48)
|
1675
1695
|
* #request_token
|
1676
|
-
* [creates a TokenRequest automatically and sends it to Ably to obtain a token](./spec/acceptance/rest/auth_spec.rb#
|
1677
|
-
* [returns a valid TokenDetails object in the expected format with valid issued and expires attributes](./spec/acceptance/rest/auth_spec.rb#
|
1696
|
+
* [creates a TokenRequest automatically and sends it to Ably to obtain a token](./spec/acceptance/rest/auth_spec.rb#L63)
|
1697
|
+
* [returns a valid TokenDetails object in the expected format with valid issued and expires attributes](./spec/acceptance/rest/auth_spec.rb#L72)
|
1678
1698
|
* with token_param :client_id
|
1679
|
-
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#
|
1699
|
+
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#L105)
|
1680
1700
|
* with token_param :capability
|
1681
|
-
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#
|
1701
|
+
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#L105)
|
1682
1702
|
* with token_param :nonce
|
1683
|
-
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#
|
1703
|
+
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#L105)
|
1684
1704
|
* with token_param :timestamp
|
1685
|
-
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#
|
1705
|
+
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#L105)
|
1686
1706
|
* with token_param :ttl
|
1687
|
-
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#
|
1707
|
+
* [overrides default and uses camelCase notation for attributes](./spec/acceptance/rest/auth_spec.rb#L105)
|
1688
1708
|
* with :key option
|
1689
|
-
* [key_name is used in request and signing uses key_secret](./spec/acceptance/rest/auth_spec.rb#
|
1709
|
+
* [key_name is used in request and signing uses key_secret](./spec/acceptance/rest/auth_spec.rb#L135)
|
1690
1710
|
* with :key_name & :key_secret options
|
1691
|
-
* [key_name is used in request and signing uses key_secret](./spec/acceptance/rest/auth_spec.rb#
|
1711
|
+
* [key_name is used in request and signing uses key_secret](./spec/acceptance/rest/auth_spec.rb#L165)
|
1692
1712
|
* with :query_time option
|
1693
|
-
* [queries the server for the time (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#
|
1713
|
+
* [queries the server for the time (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#L173)
|
1694
1714
|
* without :query_time option
|
1695
|
-
* [does not query the server for the time](./spec/acceptance/rest/auth_spec.rb#
|
1715
|
+
* [does not query the server for the time](./spec/acceptance/rest/auth_spec.rb#L182)
|
1696
1716
|
* with :auth_url option merging
|
1697
1717
|
* with existing configured auth options
|
1698
1718
|
* using unspecified :auth_method
|
1699
|
-
* [requests a token using a GET request with provided headers, and merges client_id into auth_params](./spec/acceptance/rest/auth_spec.rb#
|
1719
|
+
* [requests a token using a GET request with provided headers, and merges client_id into auth_params](./spec/acceptance/rest/auth_spec.rb#L222)
|
1700
1720
|
* with provided token_params
|
1701
|
-
* [merges provided token_params with existing auth_params and client_id](./spec/acceptance/rest/auth_spec.rb#
|
1721
|
+
* [merges provided token_params with existing auth_params and client_id](./spec/acceptance/rest/auth_spec.rb#L230)
|
1702
1722
|
* with provided auth option auth_params and auth_headers
|
1703
|
-
* [replaces any preconfigured auth_params](./spec/acceptance/rest/auth_spec.rb#
|
1723
|
+
* [replaces any preconfigured auth_params](./spec/acceptance/rest/auth_spec.rb#L238)
|
1704
1724
|
* using :get :auth_method and query params in the URL
|
1705
|
-
* [requests a token using a GET request with provided headers, and merges client_id into auth_params and existing URL querystring into new URL querystring](./spec/acceptance/rest/auth_spec.rb#
|
1725
|
+
* [requests a token using a GET request with provided headers, and merges client_id into auth_params and existing URL querystring into new URL querystring](./spec/acceptance/rest/auth_spec.rb#L249)
|
1706
1726
|
* using :post :auth_method
|
1707
|
-
* [requests a token using a POST request with provided headers, and merges client_id into auth_params as form-encoded post data](./spec/acceptance/rest/auth_spec.rb#
|
1727
|
+
* [requests a token using a POST request with provided headers, and merges client_id into auth_params as form-encoded post data](./spec/acceptance/rest/auth_spec.rb#L259)
|
1708
1728
|
* with :auth_url option
|
1709
1729
|
* when response from :auth_url is a valid token request
|
1710
|
-
* [requests a token from :auth_url using an HTTP GET request](./spec/acceptance/rest/auth_spec.rb#
|
1711
|
-
* [returns a valid token generated from the token request](./spec/acceptance/rest/auth_spec.rb#
|
1730
|
+
* [requests a token from :auth_url using an HTTP GET request](./spec/acceptance/rest/auth_spec.rb#L309)
|
1731
|
+
* [returns a valid token generated from the token request](./spec/acceptance/rest/auth_spec.rb#L314)
|
1712
1732
|
* with :query_params
|
1713
|
-
* [requests a token from :auth_url with the :query_params](./spec/acceptance/rest/auth_spec.rb#
|
1733
|
+
* [requests a token from :auth_url with the :query_params](./spec/acceptance/rest/auth_spec.rb#L321)
|
1714
1734
|
* with :headers
|
1715
|
-
* [requests a token from :auth_url with the HTTP headers set](./spec/acceptance/rest/auth_spec.rb#
|
1735
|
+
* [requests a token from :auth_url with the HTTP headers set](./spec/acceptance/rest/auth_spec.rb#L329)
|
1716
1736
|
* with POST
|
1717
|
-
* [requests a token from :auth_url using an HTTP POST instead of the default GET](./spec/acceptance/rest/auth_spec.rb#
|
1737
|
+
* [requests a token from :auth_url using an HTTP POST instead of the default GET](./spec/acceptance/rest/auth_spec.rb#L337)
|
1718
1738
|
* when response from :auth_url is a token details object
|
1719
|
-
* [returns TokenDetails created from the token JSON](./spec/acceptance/rest/auth_spec.rb#
|
1739
|
+
* [returns TokenDetails created from the token JSON](./spec/acceptance/rest/auth_spec.rb#L362)
|
1720
1740
|
* when response from :auth_url is text/plain content type and a token string
|
1721
|
-
* [returns TokenDetails created from the token JSON](./spec/acceptance/rest/auth_spec.rb#
|
1741
|
+
* [returns TokenDetails created from the token JSON](./spec/acceptance/rest/auth_spec.rb#L380)
|
1722
1742
|
* when response is invalid
|
1723
1743
|
* 500
|
1724
|
-
* [raises ServerError](./spec/acceptance/rest/auth_spec.rb#
|
1744
|
+
* [raises ServerError](./spec/acceptance/rest/auth_spec.rb#L394)
|
1725
1745
|
* XML
|
1726
|
-
* [raises InvalidResponseBody](./spec/acceptance/rest/auth_spec.rb#
|
1746
|
+
* [raises InvalidResponseBody](./spec/acceptance/rest/auth_spec.rb#L405)
|
1727
1747
|
* with a Proc for the :auth_callback option
|
1728
1748
|
* that returns a TokenRequest
|
1729
|
-
* [calls the Proc with token_params when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#
|
1730
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
1749
|
+
* [calls the Proc with token_params when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#L428)
|
1750
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L432)
|
1731
1751
|
* when authorized
|
1732
|
-
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#
|
1733
|
-
* [sets Client#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#
|
1752
|
+
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L439)
|
1753
|
+
* [sets Client#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L443)
|
1734
1754
|
* that returns a TokenDetails JSON object
|
1735
|
-
* [calls the lambda when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#
|
1736
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
1755
|
+
* [calls the lambda when authenticating to obtain the request token](./spec/acceptance/rest/auth_spec.rb#L477)
|
1756
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L482)
|
1737
1757
|
* when authorized
|
1738
|
-
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#
|
1739
|
-
* [sets Client#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#
|
1758
|
+
* [sets Auth#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L494)
|
1759
|
+
* [sets Client#client_id to the new token's client_id](./spec/acceptance/rest/auth_spec.rb#L498)
|
1740
1760
|
* that returns a TokenDetails object
|
1741
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
1761
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L513)
|
1742
1762
|
* that returns a Token string
|
1743
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
1763
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L529)
|
1744
1764
|
* with auth_option :client_id
|
1745
|
-
* [returns a token with the client_id](./spec/acceptance/rest/auth_spec.rb#
|
1765
|
+
* [returns a token with the client_id](./spec/acceptance/rest/auth_spec.rb#L559)
|
1746
1766
|
* with token_param :client_id
|
1747
|
-
* [returns a token with the client_id](./spec/acceptance/rest/auth_spec.rb#
|
1767
|
+
* [returns a token with the client_id](./spec/acceptance/rest/auth_spec.rb#L568)
|
1748
1768
|
* before #authorize has been called
|
1749
|
-
* [has no current_token_details](./spec/acceptance/rest/auth_spec.rb#
|
1769
|
+
* [has no current_token_details](./spec/acceptance/rest/auth_spec.rb#L575)
|
1750
1770
|
* #authorize (#RSA10, #RSA10j)
|
1751
|
-
* [updates the persisted token params that are then used for subsequent authorize requests](./spec/acceptance/rest/auth_spec.rb#
|
1752
|
-
* [updates the persisted auth options that are then used for subsequent authorize requests](./spec/acceptance/rest/auth_spec.rb#
|
1771
|
+
* [updates the persisted token params that are then used for subsequent authorize requests](./spec/acceptance/rest/auth_spec.rb#L742)
|
1772
|
+
* [updates the persisted auth options that are then used for subsequent authorize requests](./spec/acceptance/rest/auth_spec.rb#L748)
|
1753
1773
|
* when called for the first time since the client has been instantiated
|
1754
|
-
* [passes all auth_options and token_params to #request_token](./spec/acceptance/rest/auth_spec.rb#
|
1755
|
-
* [returns a valid token](./spec/acceptance/rest/auth_spec.rb#
|
1756
|
-
* [issues a new token every time (#RSA10a)](./spec/acceptance/rest/auth_spec.rb#
|
1774
|
+
* [passes all auth_options and token_params to #request_token](./spec/acceptance/rest/auth_spec.rb#L589)
|
1775
|
+
* [returns a valid token](./spec/acceptance/rest/auth_spec.rb#L594)
|
1776
|
+
* [issues a new token every time (#RSA10a)](./spec/acceptance/rest/auth_spec.rb#L598)
|
1757
1777
|
* query_time: true with authorize
|
1758
|
-
* [only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#
|
1778
|
+
* [only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#L612)
|
1759
1779
|
* query_time: true ClientOption when instanced
|
1760
|
-
* [only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#
|
1780
|
+
* [only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)](./spec/acceptance/rest/auth_spec.rb#L632)
|
1761
1781
|
* TokenParams argument
|
1762
|
-
* [has no effect on the defaults when null and TokenParam defaults remain the same](./spec/acceptance/rest/auth_spec.rb#
|
1763
|
-
* [updates defaults when present and all previous configured TokenParams are discarded (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#
|
1764
|
-
* [updates Auth#token_params attribute with an immutable hash](./spec/acceptance/rest/auth_spec.rb#
|
1765
|
-
* [uses TokenParams#timestamp for this request but obtains a new timestamp for subsequence requests (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#
|
1782
|
+
* [has no effect on the defaults when null and TokenParam defaults remain the same](./spec/acceptance/rest/auth_spec.rb#L649)
|
1783
|
+
* [updates defaults when present and all previous configured TokenParams are discarded (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#L656)
|
1784
|
+
* [updates Auth#token_params attribute with an immutable hash](./spec/acceptance/rest/auth_spec.rb#L664)
|
1785
|
+
* [uses TokenParams#timestamp for this request but obtains a new timestamp for subsequence requests (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#L669)
|
1766
1786
|
* AuthOptions argument
|
1767
|
-
* [has no effect on the defaults when null and AuthOptions defaults remain the same](./spec/acceptance/rest/auth_spec.rb#
|
1768
|
-
* [updates defaults when present and all previous configured AuthOptions are discarded (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#
|
1769
|
-
* [updates Auth#options attribute with an immutable hash](./spec/acceptance/rest/auth_spec.rb#
|
1770
|
-
* [uses AuthOptions#query_time for this request and will not query_time for subsequent requests (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#
|
1771
|
-
* [uses AuthOptions#query_time for this request and will query_time again if provided subsequently](./spec/acceptance/rest/auth_spec.rb#
|
1787
|
+
* [has no effect on the defaults when null and AuthOptions defaults remain the same](./spec/acceptance/rest/auth_spec.rb#L694)
|
1788
|
+
* [updates defaults when present and all previous configured AuthOptions are discarded (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#L700)
|
1789
|
+
* [updates Auth#options attribute with an immutable hash](./spec/acceptance/rest/auth_spec.rb#L707)
|
1790
|
+
* [uses AuthOptions#query_time for this request and will not query_time for subsequent requests (#RSA10g)](./spec/acceptance/rest/auth_spec.rb#L712)
|
1791
|
+
* [uses AuthOptions#query_time for this request and will query_time again if provided subsequently](./spec/acceptance/rest/auth_spec.rb#L718)
|
1772
1792
|
* with previous authorisation
|
1773
|
-
* [requests a new token if token is expired](./spec/acceptance/rest/auth_spec.rb#
|
1774
|
-
* [issues a new token every time #authorize is called](./spec/acceptance/rest/auth_spec.rb#
|
1793
|
+
* [requests a new token if token is expired](./spec/acceptance/rest/auth_spec.rb#L731)
|
1794
|
+
* [issues a new token every time #authorize is called](./spec/acceptance/rest/auth_spec.rb#L737)
|
1775
1795
|
* with a lambda for the :auth_callback option
|
1776
|
-
* [calls the lambda](./spec/acceptance/rest/auth_spec.rb#
|
1777
|
-
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#
|
1796
|
+
* [calls the lambda](./spec/acceptance/rest/auth_spec.rb#L765)
|
1797
|
+
* [uses the token request returned from the callback when requesting a new token](./spec/acceptance/rest/auth_spec.rb#L769)
|
1778
1798
|
* for every subsequent #request_token
|
1779
1799
|
* without a :auth_callback lambda
|
1780
|
-
* [calls the originally provided block](./spec/acceptance/rest/auth_spec.rb#
|
1800
|
+
* [calls the originally provided block](./spec/acceptance/rest/auth_spec.rb#L775)
|
1781
1801
|
* with a provided block
|
1782
|
-
* [does not call the originally provided lambda and calls the new #request_token :auth_callback lambda](./spec/acceptance/rest/auth_spec.rb#
|
1802
|
+
* [does not call the originally provided lambda and calls the new #request_token :auth_callback lambda](./spec/acceptance/rest/auth_spec.rb#L782)
|
1783
1803
|
* with an explicit token string that expires
|
1784
1804
|
* and a lambda for the :auth_callback option to provide a means to renew the token
|
1785
|
-
* [calls the lambda once the token has expired and the new token is used](./spec/acceptance/rest/auth_spec.rb#
|
1805
|
+
* [calls the lambda once the token has expired and the new token is used](./spec/acceptance/rest/auth_spec.rb#L809)
|
1786
1806
|
* with an explicit ClientOptions client_id
|
1787
1807
|
* and an incompatible client_id in a TokenDetails object passed to the auth callback
|
1788
|
-
* [rejects a TokenDetails object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#
|
1808
|
+
* [rejects a TokenDetails object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#L827)
|
1789
1809
|
* and an incompatible client_id in a TokenRequest object passed to the auth callback and raises an exception
|
1790
|
-
* [rejects a TokenRequests object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#
|
1810
|
+
* [rejects a TokenRequests object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#L835)
|
1791
1811
|
* and a token string without any retrievable client_id
|
1792
|
-
* [rejects a TokenRequests object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#
|
1812
|
+
* [rejects a TokenRequests object with an incompatible client_id and raises an exception](./spec/acceptance/rest/auth_spec.rb#L843)
|
1793
1813
|
* #create_token_request
|
1794
|
-
* [returns a TokenRequest object](./spec/acceptance/rest/auth_spec.rb#
|
1795
|
-
* [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#
|
1796
|
-
* [uses the key name from the client](./spec/acceptance/rest/auth_spec.rb#
|
1797
|
-
* [specifies no TTL (#RSA5)](./spec/acceptance/rest/auth_spec.rb#
|
1798
|
-
* [specifies no capability (#RSA6)](./spec/acceptance/rest/auth_spec.rb#
|
1814
|
+
* [returns a TokenRequest object](./spec/acceptance/rest/auth_spec.rb#L858)
|
1815
|
+
* [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#L862)
|
1816
|
+
* [uses the key name from the client](./spec/acceptance/rest/auth_spec.rb#L869)
|
1817
|
+
* [specifies no TTL (#RSA5)](./spec/acceptance/rest/auth_spec.rb#L873)
|
1818
|
+
* [specifies no capability (#RSA6)](./spec/acceptance/rest/auth_spec.rb#L887)
|
1799
1819
|
* with a :ttl option below the Token expiry buffer that ensures tokens are renewed 15s before they expire as they are considered expired
|
1800
|
-
* [uses the Token expiry buffer default + 10s to allow for a token request in flight](./spec/acceptance/rest/auth_spec.rb#
|
1820
|
+
* [uses the Token expiry buffer default + 10s to allow for a token request in flight](./spec/acceptance/rest/auth_spec.rb#L881)
|
1801
1821
|
* the nonce
|
1802
|
-
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#
|
1803
|
-
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#
|
1822
|
+
* [is unique for every request](./spec/acceptance/rest/auth_spec.rb#L892)
|
1823
|
+
* [is at least 16 characters](./spec/acceptance/rest/auth_spec.rb#L897)
|
1804
1824
|
* with token param :ttl
|
1805
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1825
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L908)
|
1806
1826
|
* with token param :nonce
|
1807
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1827
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L908)
|
1808
1828
|
* with token param :client_id
|
1809
|
-
* [overrides default](./spec/acceptance/rest/auth_spec.rb#
|
1829
|
+
* [overrides default](./spec/acceptance/rest/auth_spec.rb#L908)
|
1810
1830
|
* when specifying capability
|
1811
|
-
* [overrides the default](./spec/acceptance/rest/auth_spec.rb#
|
1812
|
-
* [uses these capabilities when Ably issues an actual token](./spec/acceptance/rest/auth_spec.rb#
|
1831
|
+
* [overrides the default](./spec/acceptance/rest/auth_spec.rb#L919)
|
1832
|
+
* [uses these capabilities when Ably issues an actual token](./spec/acceptance/rest/auth_spec.rb#L923)
|
1813
1833
|
* with additional invalid attributes
|
1814
|
-
* [are ignored](./spec/acceptance/rest/auth_spec.rb#
|
1834
|
+
* [are ignored](./spec/acceptance/rest/auth_spec.rb#L933)
|
1815
1835
|
* when required fields are missing
|
1816
|
-
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#
|
1817
|
-
* [should raise an exception if key name is missing](./spec/acceptance/rest/auth_spec.rb#
|
1836
|
+
* [should raise an exception if key secret is missing](./spec/acceptance/rest/auth_spec.rb#L944)
|
1837
|
+
* [should raise an exception if key name is missing](./spec/acceptance/rest/auth_spec.rb#L948)
|
1818
1838
|
* timestamp attribute
|
1819
|
-
* [is a Time object in Ruby and is set to the local time](./spec/acceptance/rest/auth_spec.rb#
|
1839
|
+
* [is a Time object in Ruby and is set to the local time](./spec/acceptance/rest/auth_spec.rb#L975)
|
1820
1840
|
* with :query_time auth_option
|
1821
|
-
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#
|
1841
|
+
* [queries the server for the timestamp](./spec/acceptance/rest/auth_spec.rb#L960)
|
1822
1842
|
* with :timestamp option
|
1823
|
-
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#
|
1843
|
+
* [uses the provided timestamp in the token request](./spec/acceptance/rest/auth_spec.rb#L970)
|
1824
1844
|
* signing
|
1825
|
-
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#
|
1845
|
+
* [generates a valid HMAC](./spec/acceptance/rest/auth_spec.rb#L999)
|
1826
1846
|
* lexicographic ordering of channels and operations
|
1827
|
-
* [HMAC is lexicographic ordered and thus the HMAC is identical](./spec/acceptance/rest/auth_spec.rb#
|
1828
|
-
* [is valid when used for authentication](./spec/acceptance/rest/auth_spec.rb#
|
1847
|
+
* [HMAC is lexicographic ordered and thus the HMAC is identical](./spec/acceptance/rest/auth_spec.rb#L1026)
|
1848
|
+
* [is valid when used for authentication](./spec/acceptance/rest/auth_spec.rb#L1032)
|
1829
1849
|
* using token authentication
|
1830
1850
|
* with :token option
|
1831
|
-
* [authenticates successfully using the provided :token](./spec/acceptance/rest/auth_spec.rb#
|
1832
|
-
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#
|
1833
|
-
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#
|
1834
|
-
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#
|
1851
|
+
* [authenticates successfully using the provided :token](./spec/acceptance/rest/auth_spec.rb#L1059)
|
1852
|
+
* [disallows publishing on unspecified capability channels](./spec/acceptance/rest/auth_spec.rb#L1063)
|
1853
|
+
* [fails if timestamp is invalid](./spec/acceptance/rest/auth_spec.rb#L1071)
|
1854
|
+
* [cannot be renewed automatically](./spec/acceptance/rest/auth_spec.rb#L1079)
|
1835
1855
|
* and the token expires
|
1836
|
-
* [should indicate an error and not retry the request (#RSA4a)](./spec/acceptance/rest/auth_spec.rb#
|
1837
|
-
* when implicit as a result of using :client_id
|
1838
|
-
* and requests to the Ably server are mocked
|
1839
|
-
* [will send a token request to the server](./spec/acceptance/rest/auth_spec.rb#L1155)
|
1840
|
-
* a token is created
|
1841
|
-
* [before a request is made](./spec/acceptance/rest/auth_spec.rb#L1164)
|
1842
|
-
* [when a message is published](./spec/acceptance/rest/auth_spec.rb#L1168)
|
1843
|
-
* [with capability and TTL defaults (#TK2a, #TK2b)](./spec/acceptance/rest/auth_spec.rb#L1172)
|
1844
|
-
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#L1183)
|
1856
|
+
* [should indicate an error and not retry the request (#RSA4a)](./spec/acceptance/rest/auth_spec.rb#L1113)
|
1845
1857
|
* when token expires
|
1846
|
-
* [automatically renews the token (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#
|
1847
|
-
* [fails if the token renewal fails (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#
|
1858
|
+
* [automatically renews the token (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#L1143)
|
1859
|
+
* [fails if the token renewal fails (#RSA4b)](./spec/acceptance/rest/auth_spec.rb#L1153)
|
1848
1860
|
* when :client_id is provided in a token
|
1849
|
-
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#
|
1861
|
+
* [#client_id contains the client_id](./spec/acceptance/rest/auth_spec.rb#L1177)
|
1850
1862
|
* #client_id_validated?
|
1851
1863
|
* when using basic auth
|
1852
|
-
* [is false as basic auth users do not have an identity](./spec/acceptance/rest/auth_spec.rb#
|
1864
|
+
* [is false as basic auth users do not have an identity](./spec/acceptance/rest/auth_spec.rb#L1189)
|
1853
1865
|
* when using a token auth string for a token with a client_id
|
1854
|
-
* [is false as identification is not possible from an opaque token string](./spec/acceptance/rest/auth_spec.rb#
|
1866
|
+
* [is false as identification is not possible from an opaque token string](./spec/acceptance/rest/auth_spec.rb#L1197)
|
1855
1867
|
* when using a token
|
1856
1868
|
* with a client_id
|
1857
|
-
* [is true](./spec/acceptance/rest/auth_spec.rb#
|
1869
|
+
* [is true](./spec/acceptance/rest/auth_spec.rb#L1206)
|
1858
1870
|
* with no client_id (anonymous)
|
1859
|
-
* [is true](./spec/acceptance/rest/auth_spec.rb#
|
1871
|
+
* [is true](./spec/acceptance/rest/auth_spec.rb#L1214)
|
1860
1872
|
* with a wildcard client_id (anonymous)
|
1861
|
-
* [is false](./spec/acceptance/rest/auth_spec.rb#
|
1873
|
+
* [is false](./spec/acceptance/rest/auth_spec.rb#L1222)
|
1862
1874
|
* when using a token request with a client_id
|
1863
|
-
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/rest/auth_spec.rb#
|
1875
|
+
* [is not true as identification is not confirmed until authenticated](./spec/acceptance/rest/auth_spec.rb#L1231)
|
1864
1876
|
* after authentication
|
1865
|
-
* [is true as identification is completed during implicit authentication](./spec/acceptance/rest/auth_spec.rb#
|
1877
|
+
* [is true as identification is completed during implicit authentication](./spec/acceptance/rest/auth_spec.rb#L1238)
|
1866
1878
|
* when using a :key and basic auth
|
1867
|
-
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#
|
1868
|
-
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#
|
1869
|
-
* [#using_basic_auth? is true](./spec/acceptance/rest/auth_spec.rb#
|
1879
|
+
* [#using_token_auth? is false](./spec/acceptance/rest/auth_spec.rb#L1246)
|
1880
|
+
* [#key attribute contains the key string](./spec/acceptance/rest/auth_spec.rb#L1250)
|
1881
|
+
* [#using_basic_auth? is true](./spec/acceptance/rest/auth_spec.rb#L1254)
|
1870
1882
|
* deprecated #authorise
|
1871
|
-
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#
|
1872
|
-
* [returns a valid token (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#
|
1883
|
+
* [logs a deprecation warning (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#L1263)
|
1884
|
+
* [returns a valid token (#RSA10l)](./spec/acceptance/rest/auth_spec.rb#L1268)
|
1873
1885
|
* when using JWT
|
1874
|
-
* [authenticates correctly using the JWT token generated by the echo server](./spec/acceptance/rest/auth_spec.rb#
|
1886
|
+
* [authenticates correctly using the JWT token generated by the echo server](./spec/acceptance/rest/auth_spec.rb#L1280)
|
1875
1887
|
* when the JWT embeds an Ably token
|
1876
|
-
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#
|
1888
|
+
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#L1287)
|
1877
1889
|
* and the requested token is encrypted
|
1878
|
-
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#
|
1890
|
+
* [authenticates correctly using the embedded token](./spec/acceptance/rest/auth_spec.rb#L1294)
|
1879
1891
|
* when the token requested is returned with application/jwt content type
|
1880
|
-
* [authenticates correctly and pulls stats](./spec/acceptance/rest/auth_spec.rb#
|
1892
|
+
* [authenticates correctly and pulls stats](./spec/acceptance/rest/auth_spec.rb#L1305)
|
1881
1893
|
|
1882
1894
|
### Ably::Rest
|
1883
1895
|
_(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
@@ -1921,78 +1933,88 @@ _(see [spec/acceptance/rest/channel_spec.rb](./spec/acceptance/rest/channel_spec
|
|
1921
1933
|
* [publishes an array of messages in one HTTP request](./spec/acceptance/rest/channel_spec.rb#L62)
|
1922
1934
|
* with an array of Message objects
|
1923
1935
|
* [publishes an array of messages in one HTTP request](./spec/acceptance/rest/channel_spec.rb#L77)
|
1936
|
+
* with a Message object
|
1937
|
+
* [publishes the message](./spec/acceptance/rest/channel_spec.rb#L92)
|
1938
|
+
* with a Message object and query params
|
1939
|
+
* [should fail to publish the message (RSL1l1)](./spec/acceptance/rest/channel_spec.rb#L104)
|
1940
|
+
* with Messages and query params
|
1941
|
+
* [should fail to publish the message (RSL1l1)](./spec/acceptance/rest/channel_spec.rb#L117)
|
1924
1942
|
* without adequate permissions on the channel
|
1925
|
-
* [raises a permission error when publishing](./spec/acceptance/rest/channel_spec.rb#
|
1943
|
+
* [raises a permission error when publishing](./spec/acceptance/rest/channel_spec.rb#L127)
|
1926
1944
|
* null attributes
|
1927
1945
|
* when name is null
|
1928
|
-
* [publishes the message without a name attribute in the payload](./spec/acceptance/rest/channel_spec.rb#
|
1946
|
+
* [publishes the message without a name attribute in the payload](./spec/acceptance/rest/channel_spec.rb#L136)
|
1929
1947
|
* when data is null
|
1930
|
-
* [publishes the message without a data attribute in the payload](./spec/acceptance/rest/channel_spec.rb#
|
1948
|
+
* [publishes the message without a data attribute in the payload](./spec/acceptance/rest/channel_spec.rb#L147)
|
1931
1949
|
* with neither name or data attributes
|
1932
|
-
* [publishes the message without any attributes in the payload](./spec/acceptance/rest/channel_spec.rb#
|
1950
|
+
* [publishes the message without any attributes in the payload](./spec/acceptance/rest/channel_spec.rb#L158)
|
1933
1951
|
* identified clients
|
1934
1952
|
* when authenticated with a wildcard client_id
|
1935
1953
|
* with a valid client_id in the message
|
1936
|
-
* [succeeds](./spec/acceptance/rest/channel_spec.rb#
|
1954
|
+
* [succeeds](./spec/acceptance/rest/channel_spec.rb#L175)
|
1937
1955
|
* with a wildcard client_id in the message
|
1938
|
-
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#
|
1956
|
+
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L184)
|
1939
1957
|
* with an empty client_id in the message
|
1940
|
-
* [succeeds and publishes without a client_id](./spec/acceptance/rest/channel_spec.rb#
|
1958
|
+
* [succeeds and publishes without a client_id](./spec/acceptance/rest/channel_spec.rb#L190)
|
1941
1959
|
* when authenticated with a Token string with an implicit client_id
|
1942
1960
|
* without having a confirmed identity
|
1943
1961
|
* with a valid client_id in the message
|
1944
|
-
* [succeeds](./spec/acceptance/rest/channel_spec.rb#
|
1962
|
+
* [succeeds](./spec/acceptance/rest/channel_spec.rb#L207)
|
1945
1963
|
* with an invalid client_id in the message
|
1946
|
-
* [succeeds in the client library but then fails when published to Ably](./spec/acceptance/rest/channel_spec.rb#
|
1964
|
+
* [succeeds in the client library but then fails when published to Ably](./spec/acceptance/rest/channel_spec.rb#L216)
|
1947
1965
|
* with an empty client_id in the message
|
1948
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#
|
1966
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L222)
|
1949
1967
|
* when authenticated with TokenDetails with a valid client_id
|
1950
1968
|
* with a valid client_id in the message
|
1951
|
-
* [succeeds](./spec/acceptance/rest/channel_spec.rb#
|
1969
|
+
* [succeeds](./spec/acceptance/rest/channel_spec.rb#L239)
|
1952
1970
|
* with a wildcard client_id in the message
|
1953
|
-
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#
|
1971
|
+
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L248)
|
1954
1972
|
* with an invalid client_id in the message
|
1955
|
-
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#
|
1973
|
+
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L254)
|
1956
1974
|
* with an empty client_id in the message
|
1957
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#
|
1975
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L260)
|
1958
1976
|
* when anonymous and no client_id
|
1959
1977
|
* with a client_id in the message
|
1960
|
-
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#
|
1978
|
+
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L276)
|
1961
1979
|
* with a wildcard client_id in the message
|
1962
|
-
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#
|
1980
|
+
* [throws an exception](./spec/acceptance/rest/channel_spec.rb#L282)
|
1963
1981
|
* with an empty client_id in the message
|
1964
|
-
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#
|
1982
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L288)
|
1965
1983
|
* with a non ASCII channel name
|
1966
1984
|
* stubbed
|
1967
|
-
* [correctly encodes the channel name](./spec/acceptance/rest/channel_spec.rb#
|
1985
|
+
* [correctly encodes the channel name](./spec/acceptance/rest/channel_spec.rb#L310)
|
1986
|
+
* with a frozen message event name
|
1987
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L320)
|
1988
|
+
* with a frozen payload
|
1989
|
+
* [succeeds and publishes with an implicit client_id](./spec/acceptance/rest/channel_spec.rb#L342)
|
1968
1990
|
* #history
|
1969
|
-
* [returns a PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#
|
1970
|
-
* [returns the current message history for the channel](./spec/acceptance/rest/channel_spec.rb#
|
1971
|
-
* [returns paged history using the PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#
|
1991
|
+
* [returns a PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#L372)
|
1992
|
+
* [returns the current message history for the channel](./spec/acceptance/rest/channel_spec.rb#L376)
|
1993
|
+
* [returns paged history using the PaginatedResult model](./spec/acceptance/rest/channel_spec.rb#L404)
|
1972
1994
|
* message timestamps
|
1973
|
-
* [are after the messages were published](./spec/acceptance/rest/channel_spec.rb#
|
1995
|
+
* [are after the messages were published](./spec/acceptance/rest/channel_spec.rb#L389)
|
1974
1996
|
* message IDs
|
1975
|
-
* [is unique](./spec/acceptance/rest/channel_spec.rb#
|
1997
|
+
* [is unique](./spec/acceptance/rest/channel_spec.rb#L397)
|
1976
1998
|
* direction
|
1977
|
-
* [returns paged history backwards by default](./spec/acceptance/rest/channel_spec.rb#
|
1978
|
-
* [returns history forward if specified in the options](./spec/acceptance/rest/channel_spec.rb#
|
1999
|
+
* [returns paged history backwards by default](./spec/acceptance/rest/channel_spec.rb#L431)
|
2000
|
+
* [returns history forward if specified in the options](./spec/acceptance/rest/channel_spec.rb#L437)
|
1979
2001
|
* limit
|
1980
|
-
* [defaults to 100](./spec/acceptance/rest/channel_spec.rb#
|
2002
|
+
* [defaults to 100](./spec/acceptance/rest/channel_spec.rb#L449)
|
1981
2003
|
* #history option
|
1982
2004
|
* :start
|
1983
2005
|
* with milliseconds since epoch value
|
1984
|
-
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#
|
2006
|
+
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#L489)
|
1985
2007
|
* with a Time object value
|
1986
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#
|
2008
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#L499)
|
1987
2009
|
* :end
|
1988
2010
|
* with milliseconds since epoch value
|
1989
|
-
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#
|
2011
|
+
* [uses this value in the history request](./spec/acceptance/rest/channel_spec.rb#L489)
|
1990
2012
|
* with a Time object value
|
1991
|
-
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#
|
2013
|
+
* [converts the value to milliseconds since epoch in the hisotry request](./spec/acceptance/rest/channel_spec.rb#L499)
|
1992
2014
|
* when argument start is after end
|
1993
|
-
* [should raise an exception](./spec/acceptance/rest/channel_spec.rb#
|
2015
|
+
* [should raise an exception](./spec/acceptance/rest/channel_spec.rb#L509)
|
1994
2016
|
* #presence
|
1995
|
-
* [returns a REST Presence object](./spec/acceptance/rest/channel_spec.rb#
|
2017
|
+
* [returns a REST Presence object](./spec/acceptance/rest/channel_spec.rb#L519)
|
1996
2018
|
|
1997
2019
|
### Ably::Rest::Channels
|
1998
2020
|
_(see [spec/acceptance/rest/channels_spec.rb](./spec/acceptance/rest/channels_spec.rb))_
|
@@ -2013,6 +2035,10 @@ _(see [spec/acceptance/rest/channels_spec.rb](./spec/acceptance/rest/channels_sp
|
|
2013
2035
|
* behaves like a channel
|
2014
2036
|
* [returns a channel object](./spec/acceptance/rest/channels_spec.rb#L6)
|
2015
2037
|
* [returns channel object and passes the provided options](./spec/acceptance/rest/channels_spec.rb#L11)
|
2038
|
+
* using a frozen channel name
|
2039
|
+
* behaves like a channel
|
2040
|
+
* [returns a channel object](./spec/acceptance/rest/channels_spec.rb#L6)
|
2041
|
+
* [returns channel object and passes the provided options](./spec/acceptance/rest/channels_spec.rb#L11)
|
2016
2042
|
|
2017
2043
|
### Ably::Rest::Client
|
2018
2044
|
_(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.rb))_
|
@@ -2026,162 +2052,168 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
2026
2052
|
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L46)
|
2027
2053
|
* with :use_token_auth set to true
|
2028
2054
|
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L54)
|
2029
|
-
* with a :client_id configured
|
2030
|
-
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L62)
|
2031
2055
|
* with a non string :client_id
|
2032
|
-
* [raises an ArgumentError](./spec/acceptance/rest/client_spec.rb#
|
2056
|
+
* [raises an ArgumentError](./spec/acceptance/rest/client_spec.rb#L62)
|
2033
2057
|
* with an invalid wildcard "*" :client_id
|
2034
|
-
* [raises an exception](./spec/acceptance/rest/client_spec.rb#
|
2058
|
+
* [raises an exception](./spec/acceptance/rest/client_spec.rb#L68)
|
2035
2059
|
* with an :auth_callback lambda
|
2036
|
-
* [calls the auth lambda to get a new token](./spec/acceptance/rest/client_spec.rb#
|
2037
|
-
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#
|
2060
|
+
* [calls the auth lambda to get a new token](./spec/acceptance/rest/client_spec.rb#L76)
|
2061
|
+
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L81)
|
2038
2062
|
* with :default_token_params
|
2039
|
-
* [overides the default token params (#TO3j11)](./spec/acceptance/rest/client_spec.rb#
|
2063
|
+
* [overides the default token params (#TO3j11)](./spec/acceptance/rest/client_spec.rb#L95)
|
2040
2064
|
* with an :auth_callback lambda (clientId provided in library options instead of as a token_request param)
|
2041
|
-
* [correctly sets the clientId on the token](./spec/acceptance/rest/client_spec.rb#
|
2065
|
+
* [correctly sets the clientId on the token](./spec/acceptance/rest/client_spec.rb#L105)
|
2042
2066
|
* with an auth URL
|
2043
|
-
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#
|
2067
|
+
* [uses token authentication](./spec/acceptance/rest/client_spec.rb#L115)
|
2044
2068
|
* before any REST request
|
2045
|
-
* [sends an HTTP request to the provided auth URL to get a new token](./spec/acceptance/rest/client_spec.rb#
|
2069
|
+
* [sends an HTTP request to the provided auth URL to get a new token](./spec/acceptance/rest/client_spec.rb#L126)
|
2046
2070
|
* auth headers
|
2047
2071
|
* with basic auth
|
2048
|
-
* [sends the API key in authentication part of the secure URL (the Authorization: Basic header is not used with the Faraday HTTP library by default)](./spec/acceptance/rest/client_spec.rb#
|
2072
|
+
* [sends the API key in authentication part of the secure URL (the Authorization: Basic header is not used with the Faraday HTTP library by default)](./spec/acceptance/rest/client_spec.rb#L147)
|
2049
2073
|
* with token auth
|
2050
2074
|
* without specifying protocol
|
2051
|
-
* [sends the token string over HTTPS in the Authorization Bearer header with Base64 encoding](./spec/acceptance/rest/client_spec.rb#
|
2075
|
+
* [sends the token string over HTTPS in the Authorization Bearer header with Base64 encoding](./spec/acceptance/rest/client_spec.rb#L166)
|
2052
2076
|
* when setting constructor ClientOption :tls to false
|
2053
|
-
* [sends the token string over HTTP in the Authorization Bearer header with Base64 encoding](./spec/acceptance/rest/client_spec.rb#
|
2077
|
+
* [sends the token string over HTTP in the Authorization Bearer header with Base64 encoding](./spec/acceptance/rest/client_spec.rb#L176)
|
2054
2078
|
* using tokens
|
2055
2079
|
* when expired
|
2056
|
-
* [creates a new token automatically when the old token expires](./spec/acceptance/rest/client_spec.rb#
|
2080
|
+
* [creates a new token automatically when the old token expires](./spec/acceptance/rest/client_spec.rb#L209)
|
2057
2081
|
* with a different client_id in the subsequent token
|
2058
|
-
* [fails to authenticate and raises an exception](./spec/acceptance/rest/client_spec.rb#
|
2082
|
+
* [fails to authenticate and raises an exception](./spec/acceptance/rest/client_spec.rb#L222)
|
2059
2083
|
* when token has not expired
|
2060
|
-
* [reuses the existing token for every request](./spec/acceptance/rest/client_spec.rb#
|
2084
|
+
* [reuses the existing token for every request](./spec/acceptance/rest/client_spec.rb#L233)
|
2061
2085
|
* connection transport
|
2062
2086
|
* defaults
|
2063
2087
|
* for default host
|
2064
|
-
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#
|
2065
|
-
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#
|
2088
|
+
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L250)
|
2089
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L254)
|
2066
2090
|
* for the fallback hosts
|
2067
|
-
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#
|
2068
|
-
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#
|
2091
|
+
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L260)
|
2092
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L264)
|
2069
2093
|
* with custom http_open_timeout and http_request_timeout options
|
2070
2094
|
* for default host
|
2071
|
-
* [is configured to use custom open timeout](./spec/acceptance/rest/client_spec.rb#
|
2072
|
-
* [is configured to use custom request timeout](./spec/acceptance/rest/client_spec.rb#
|
2095
|
+
* [is configured to use custom open timeout](./spec/acceptance/rest/client_spec.rb#L276)
|
2096
|
+
* [is configured to use custom request timeout](./spec/acceptance/rest/client_spec.rb#L280)
|
2073
2097
|
* for the fallback hosts
|
2074
|
-
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#
|
2075
|
-
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#
|
2098
|
+
* [is configured to timeout connection opening in 4 seconds](./spec/acceptance/rest/client_spec.rb#L286)
|
2099
|
+
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L290)
|
2076
2100
|
* fallback hosts
|
2077
2101
|
* configured
|
2078
|
-
* [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#
|
2102
|
+
* [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#L304)
|
2079
2103
|
* when environment is NOT production (#RSC15b)
|
2080
|
-
* [does not retry failed requests with fallback hosts when there is a connection error](./spec/acceptance/rest/client_spec.rb#
|
2104
|
+
* [does not retry failed requests with fallback hosts when there is a connection error](./spec/acceptance/rest/client_spec.rb#L321)
|
2081
2105
|
* when environment is production
|
2082
2106
|
* and connection times out
|
2083
|
-
* [tries fallback hosts 3 times (#RSC15b, #RSC15b)](./spec/acceptance/rest/client_spec.rb#
|
2107
|
+
* [tries fallback hosts 3 times (#RSC15b, #RSC15b)](./spec/acceptance/rest/client_spec.rb#L360)
|
2084
2108
|
* and the total request time exeeds 15 seconds
|
2085
|
-
* [makes no further attempts to any fallback hosts](./spec/acceptance/rest/client_spec.rb#
|
2109
|
+
* [makes no further attempts to any fallback hosts](./spec/acceptance/rest/client_spec.rb#L375)
|
2086
2110
|
* and connection fails
|
2087
|
-
* [tries fallback hosts 3 times](./spec/acceptance/rest/client_spec.rb#
|
2111
|
+
* [tries fallback hosts 3 times](./spec/acceptance/rest/client_spec.rb#L391)
|
2088
2112
|
* and first request to primary endpoint fails
|
2089
|
-
* [tries a fallback host, and for the next request tries the primary endpoint again (#RSC15e)](./spec/acceptance/rest/client_spec.rb#
|
2113
|
+
* [tries a fallback host, and for the next request tries the primary endpoint again (#RSC15e)](./spec/acceptance/rest/client_spec.rb#L425)
|
2090
2114
|
* and basic authentication fails
|
2091
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2115
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L452)
|
2092
2116
|
* and server returns a 50x error
|
2093
|
-
* [attempts the fallback hosts as this is an authentication failure (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2117
|
+
* [attempts the fallback hosts as this is an authentication failure (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L474)
|
2094
2118
|
* when environment is production and server returns a 50x error
|
2095
2119
|
* with custom fallback hosts provided
|
2096
|
-
* [attempts the fallback hosts as this is an authentication failure (#RSC15b, #RSC15a, #TO3k6)](./spec/acceptance/rest/client_spec.rb#
|
2120
|
+
* [attempts the fallback hosts as this is an authentication failure (#RSC15b, #RSC15a, #TO3k6)](./spec/acceptance/rest/client_spec.rb#L523)
|
2097
2121
|
* with an empty array of fallback hosts provided (#RSC15b, #RSC15a, #TO3k6)
|
2098
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2122
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L536)
|
2099
2123
|
* using a local web-server
|
2100
2124
|
* and timing out the primary host
|
2101
2125
|
* POST with request timeout less than max_retry_duration
|
2102
|
-
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2126
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L600)
|
2103
2127
|
* GET with request timeout less than max_retry_duration
|
2104
|
-
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2128
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L623)
|
2105
2129
|
* POST with request timeout more than max_retry_duration
|
2106
|
-
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2130
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L646)
|
2107
2131
|
* GET with request timeout more than max_retry_duration
|
2108
|
-
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2132
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L668)
|
2109
2133
|
* and failing the primary host
|
2110
|
-
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#
|
2134
|
+
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#L713)
|
2111
2135
|
* to fail the primary host, allow a fallback to succeed, then later trigger a fallback to the primary host (#RSC15f)
|
2112
|
-
* [succeeds and remembers fallback host preferences across requests](./spec/acceptance/rest/client_spec.rb#
|
2136
|
+
* [succeeds and remembers fallback host preferences across requests](./spec/acceptance/rest/client_spec.rb#L769)
|
2113
2137
|
* with custom :fallback_retry_timeout
|
2114
|
-
* [stops using the preferred fallback after this time](./spec/acceptance/rest/client_spec.rb#
|
2138
|
+
* [stops using the preferred fallback after this time](./spec/acceptance/rest/client_spec.rb#L806)
|
2115
2139
|
* when environment is not production and server returns a 50x error
|
2116
2140
|
* with custom fallback hosts provided (#RSC15b, #TO3k6)
|
2117
|
-
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2141
|
+
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#L867)
|
2118
2142
|
* with an empty array of fallback hosts provided (#RSC15b, #TO3k6)
|
2119
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2143
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L880)
|
2120
2144
|
* with fallback_hosts_use_default: true (#RSC15b, #TO3k7)
|
2121
|
-
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2145
|
+
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L905)
|
2122
2146
|
* with a custom host
|
2123
2147
|
* that does not exist
|
2124
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2148
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L921)
|
2125
2149
|
* fallback hosts
|
2126
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2150
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L942)
|
2127
2151
|
* that times out
|
2128
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2152
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L957)
|
2129
2153
|
* fallback hosts
|
2130
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2154
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L970)
|
2131
2155
|
* HTTP configuration options
|
2132
|
-
* [is frozen](./spec/acceptance/rest/client_spec.rb#
|
2156
|
+
* [is frozen](./spec/acceptance/rest/client_spec.rb#L1027)
|
2133
2157
|
* defaults
|
2134
|
-
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#
|
2135
|
-
* [#http_request_timeout is 10s](./spec/acceptance/rest/client_spec.rb#
|
2136
|
-
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#
|
2137
|
-
* [#http_max_retry_duration is 15s](./spec/acceptance/rest/client_spec.rb#
|
2158
|
+
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#L982)
|
2159
|
+
* [#http_request_timeout is 10s](./spec/acceptance/rest/client_spec.rb#L986)
|
2160
|
+
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#L990)
|
2161
|
+
* [#http_max_retry_duration is 15s](./spec/acceptance/rest/client_spec.rb#L994)
|
2138
2162
|
* configured
|
2139
|
-
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2140
|
-
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2141
|
-
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2142
|
-
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2163
|
+
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L1010)
|
2164
|
+
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L1014)
|
2165
|
+
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#L1018)
|
2166
|
+
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#L1022)
|
2143
2167
|
* #auth
|
2144
|
-
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#
|
2145
|
-
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#
|
2168
|
+
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#L1038)
|
2169
|
+
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#L1042)
|
2146
2170
|
* version headers
|
2147
2171
|
* with variant none
|
2148
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2172
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L1076)
|
2149
2173
|
* with variant foo
|
2150
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2174
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L1076)
|
2151
2175
|
* #request (#RSC19*)
|
2152
2176
|
* get
|
2153
|
-
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#
|
2177
|
+
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#L1091)
|
2154
2178
|
* 404 request to invalid URL
|
2155
|
-
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#
|
2179
|
+
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#L1098)
|
2156
2180
|
* paged results
|
2157
|
-
* [provides paging](./spec/acceptance/rest/client_spec.rb#
|
2181
|
+
* [provides paging](./spec/acceptance/rest/client_spec.rb#L1110)
|
2182
|
+
* post
|
2183
|
+
* [supports post](./spec/acceptance/rest/client_spec.rb#L1135)
|
2184
|
+
* delete
|
2185
|
+
* [supports delete](./spec/acceptance/rest/client_spec.rb#L1148)
|
2186
|
+
* patch
|
2187
|
+
* [supports patch](./spec/acceptance/rest/client_spec.rb#L1164)
|
2188
|
+
* put
|
2189
|
+
* [supports put](./spec/acceptance/rest/client_spec.rb#L1187)
|
2158
2190
|
* request_id generation
|
2159
2191
|
* Timeout error
|
2160
2192
|
* with option add_request_ids: true
|
2161
|
-
* [has an error with the same request_id of the request](./spec/acceptance/rest/client_spec.rb#
|
2193
|
+
* [has an error with the same request_id of the request](./spec/acceptance/rest/client_spec.rb#L1210)
|
2162
2194
|
* with option add_request_ids: true and REST operations with a message body
|
2163
2195
|
* with mocks to inspect the params
|
2164
2196
|
* with a single publish
|
2165
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2197
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1232)
|
2166
2198
|
* with an array publish
|
2167
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2199
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1239)
|
2168
2200
|
* without mocks to ensure the requests are accepted
|
2169
2201
|
* with a single publish
|
2170
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2202
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1248)
|
2171
2203
|
* with an array publish
|
2172
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2204
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1255)
|
2173
2205
|
* option add_request_ids: true and specified fallback hosts
|
2174
|
-
* [request_id is the same across retries](./spec/acceptance/rest/client_spec.rb#
|
2206
|
+
* [request_id is the same across retries](./spec/acceptance/rest/client_spec.rb#L1280)
|
2175
2207
|
* without request_id
|
2176
|
-
* [does not include request_id in ConnectionTimeout error](./spec/acceptance/rest/client_spec.rb#
|
2208
|
+
* [does not include request_id in ConnectionTimeout error](./spec/acceptance/rest/client_spec.rb#L1292)
|
2177
2209
|
* UnauthorizedRequest nonce error
|
2178
|
-
* [includes request_id in UnauthorizedRequest error due to replayed nonce](./spec/acceptance/rest/client_spec.rb#
|
2210
|
+
* [includes request_id in UnauthorizedRequest error due to replayed nonce](./spec/acceptance/rest/client_spec.rb#L1305)
|
2179
2211
|
* failed request logging
|
2180
|
-
* [is absent when requests do not fail](./spec/acceptance/rest/client_spec.rb#
|
2212
|
+
* [is absent when requests do not fail](./spec/acceptance/rest/client_spec.rb#L1322)
|
2181
2213
|
* with the first request failing
|
2182
|
-
* [is present with success message when requests do not actually fail](./spec/acceptance/rest/client_spec.rb#
|
2214
|
+
* [is present with success message when requests do not actually fail](./spec/acceptance/rest/client_spec.rb#L1337)
|
2183
2215
|
* with all requests failing
|
2184
|
-
* [is present when all requests fail](./spec/acceptance/rest/client_spec.rb#
|
2216
|
+
* [is present when all requests fail](./spec/acceptance/rest/client_spec.rb#L1354)
|
2185
2217
|
|
2186
2218
|
### Ably::Models::MessageEncoders
|
2187
2219
|
_(see [spec/acceptance/rest/encoders_spec.rb](./spec/acceptance/rest/encoders_spec.rb))_
|
@@ -2234,99 +2266,99 @@ _(see [spec/acceptance/rest/message_spec.rb](./spec/acceptance/rest/message_spec
|
|
2234
2266
|
* JSON Object (Hash)
|
2235
2267
|
* [is encoded and decoded to the same hash](./spec/acceptance/rest/message_spec.rb#L71)
|
2236
2268
|
* JSON Array
|
2237
|
-
* [is encoded and decoded to the same deep multi-type object](./spec/acceptance/rest/message_spec.rb#
|
2269
|
+
* [is encoded and decoded to the same deep multi-type object](./spec/acceptance/rest/message_spec.rb#L80)
|
2238
2270
|
* nil
|
2239
|
-
* [is encoded and decoded to the same Array](./spec/acceptance/rest/message_spec.rb#
|
2271
|
+
* [is encoded and decoded to the same Array](./spec/acceptance/rest/message_spec.rb#L87)
|
2240
2272
|
* idempotency (#RSL1k)
|
2241
|
-
* [idempotent publishing is disabled by default with 1.1 (#TO3n)](./spec/acceptance/rest/message_spec.rb#
|
2242
|
-
* [idempotent publishing is enabled by default with 1.2 (#TO3n)](./spec/acceptance/rest/message_spec.rb#
|
2273
|
+
* [idempotent publishing is disabled by default with 1.1 (#TO3n)](./spec/acceptance/rest/message_spec.rb#L156)
|
2274
|
+
* [idempotent publishing is enabled by default with 1.2 (#TO3n)](./spec/acceptance/rest/message_spec.rb#L161)
|
2243
2275
|
* when ID is not included (#RSL1k2)
|
2244
2276
|
* with Message object
|
2245
|
-
* [publishes the same message three times](./spec/acceptance/rest/message_spec.rb#
|
2277
|
+
* [publishes the same message three times](./spec/acceptance/rest/message_spec.rb#L103)
|
2246
2278
|
* with #publish arguments only
|
2247
|
-
* [publishes the same message three times](./spec/acceptance/rest/message_spec.rb#
|
2279
|
+
* [publishes the same message three times](./spec/acceptance/rest/message_spec.rb#L110)
|
2248
2280
|
* when ID is included (#RSL1k2, #RSL1k5)
|
2249
|
-
* [the ID provided is used for the published messages](./spec/acceptance/rest/message_spec.rb#
|
2250
|
-
*
|
2251
|
-
*
|
2281
|
+
* [the ID provided is used for the published messages](./spec/acceptance/rest/message_spec.rb#L135)
|
2282
|
+
* [for multiple messages in one publish operation (#RSL1k3)](./spec/acceptance/rest/message_spec.rb#L140)
|
2283
|
+
* [for multiple messages in one publish operation with IDs following the required format described in RSL1k1 (#RSL1k3)](./spec/acceptance/rest/message_spec.rb#L147)
|
2252
2284
|
* with Message object
|
2253
|
-
*
|
2285
|
+
* [three REST publishes result in only one message being published](./spec/acceptance/rest/message_spec.rb#L121)
|
2254
2286
|
* with #publish arguments only
|
2255
|
-
*
|
2287
|
+
* [three REST publishes result in only one message being published](./spec/acceptance/rest/message_spec.rb#L129)
|
2256
2288
|
* when idempotent publishing is enabled in the client library ClientOptions (#TO3n)
|
2257
|
-
* [the ID is populated with a random ID and serial 0 from this lib (#RSL1k1)](./spec/acceptance/rest/message_spec.rb#
|
2289
|
+
* [the ID is populated with a random ID and serial 0 from this lib (#RSL1k1)](./spec/acceptance/rest/message_spec.rb#L225)
|
2258
2290
|
* when there is a network failure triggering an automatic retry (#RSL1k4)
|
2259
|
-
*
|
2291
|
+
* [for multiple messages in one publish operation](./spec/acceptance/rest/message_spec.rb#L218)
|
2260
2292
|
* with Message object
|
2261
|
-
*
|
2293
|
+
* [two REST publish retries result in only one message being published](./spec/acceptance/rest/message_spec.rb#L188)
|
2262
2294
|
* with #publish arguments only
|
2263
|
-
*
|
2295
|
+
* [two REST publish retries result in only one message being published](./spec/acceptance/rest/message_spec.rb#L198)
|
2264
2296
|
* with explicitly provided message ID
|
2265
|
-
*
|
2297
|
+
* [two REST publish retries result in only one message being published](./spec/acceptance/rest/message_spec.rb#L210)
|
2266
2298
|
* when publishing a batch of messages
|
2267
|
-
*
|
2299
|
+
* [the ID is populated with a single random ID and sequence of serials from this lib (#RSL1k1)](./spec/acceptance/rest/message_spec.rb#L233)
|
2268
2300
|
* with unsupported data payload content type
|
2269
2301
|
* Integer
|
2270
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#
|
2302
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#L250)
|
2271
2303
|
* Float
|
2272
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#
|
2304
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#L258)
|
2273
2305
|
* Boolean
|
2274
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#
|
2306
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#L266)
|
2275
2307
|
* False
|
2276
|
-
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#
|
2308
|
+
* [is raises an UnsupportedDataType 40013 exception](./spec/acceptance/rest/message_spec.rb#L274)
|
2277
2309
|
* encryption and encoding
|
2278
2310
|
* with #publish and #history
|
2279
2311
|
* with AES-128-CBC using crypto-data-128.json fixtures (#RTL7d)
|
2280
2312
|
* item 0 with encrypted encoding utf-8/cipher+aes-128-cbc/base64
|
2281
2313
|
* behaves like an Ably encrypter and decrypter
|
2282
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2283
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2314
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2315
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2284
2316
|
* item 1 with encrypted encoding cipher+aes-128-cbc/base64
|
2285
2317
|
* behaves like an Ably encrypter and decrypter
|
2286
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2287
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2318
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2319
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2288
2320
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
2289
2321
|
* behaves like an Ably encrypter and decrypter
|
2290
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2291
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2322
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2323
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2292
2324
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-128-cbc/base64
|
2293
2325
|
* behaves like an Ably encrypter and decrypter
|
2294
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2295
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2326
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2327
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2296
2328
|
* with AES-256-CBC using crypto-data-256.json fixtures (#RTL7d)
|
2297
2329
|
* item 0 with encrypted encoding utf-8/cipher+aes-256-cbc/base64
|
2298
2330
|
* behaves like an Ably encrypter and decrypter
|
2299
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2300
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2331
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2332
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2301
2333
|
* item 1 with encrypted encoding cipher+aes-256-cbc/base64
|
2302
2334
|
* behaves like an Ably encrypter and decrypter
|
2303
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2304
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2335
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2336
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2305
2337
|
* item 2 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
2306
2338
|
* behaves like an Ably encrypter and decrypter
|
2307
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2308
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2339
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2340
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2309
2341
|
* item 3 with encrypted encoding json/utf-8/cipher+aes-256-cbc/base64
|
2310
2342
|
* behaves like an Ably encrypter and decrypter
|
2311
|
-
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2312
|
-
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#
|
2343
|
+
* [encrypts message automatically when published (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L319)
|
2344
|
+
* [sends and retrieves messages that are encrypted & decrypted by the Ably library (#RTL7d)](./spec/acceptance/rest/message_spec.rb#L334)
|
2313
2345
|
* when publishing lots of messages
|
2314
|
-
* [encrypts on #publish and decrypts on #history](./spec/acceptance/rest/message_spec.rb#
|
2346
|
+
* [encrypts on #publish and decrypts on #history](./spec/acceptance/rest/message_spec.rb#L367)
|
2315
2347
|
* when retrieving #history with a different protocol
|
2316
|
-
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2317
|
-
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2318
|
-
* [delivers a Hash payload to the receiver](./spec/acceptance/rest/message_spec.rb#
|
2348
|
+
* [delivers a String ASCII-8BIT payload to the receiver](./spec/acceptance/rest/message_spec.rb#L394)
|
2349
|
+
* [delivers a String UTF-8 payload to the receiver](./spec/acceptance/rest/message_spec.rb#L394)
|
2350
|
+
* [delivers a Hash payload to the receiver](./spec/acceptance/rest/message_spec.rb#L394)
|
2319
2351
|
* when publishing on an unencrypted channel and retrieving with #history on an encrypted channel
|
2320
|
-
* [does not attempt to decrypt the message](./spec/acceptance/rest/message_spec.rb#
|
2352
|
+
* [does not attempt to decrypt the message](./spec/acceptance/rest/message_spec.rb#L410)
|
2321
2353
|
* when publishing on an encrypted channel and retrieving with #history on an unencrypted channel
|
2322
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2323
|
-
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2354
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L431)
|
2355
|
+
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L437)
|
2324
2356
|
* publishing on an encrypted channel and retrieving #history with a different algorithm on another client (#RTL7e)
|
2325
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2326
|
-
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#
|
2357
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L458)
|
2358
|
+
* [logs a Cipher exception (#RTL7e)](./spec/acceptance/rest/message_spec.rb#L464)
|
2327
2359
|
* publishing on an encrypted channel and subscribing with a different key on another client
|
2328
|
-
* [retrieves the message that remains encrypted with an encrypted encoding attribute](./spec/acceptance/rest/message_spec.rb#
|
2329
|
-
* [logs a Cipher exception](./spec/acceptance/rest/message_spec.rb#
|
2360
|
+
* [retrieves the message that remains encrypted with an encrypted encoding attribute](./spec/acceptance/rest/message_spec.rb#L485)
|
2361
|
+
* [logs a Cipher exception](./spec/acceptance/rest/message_spec.rb#L491)
|
2330
2362
|
|
2331
2363
|
### Ably::Rest::Presence
|
2332
2364
|
_(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_spec.rb))_
|
@@ -2399,7 +2431,7 @@ _(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_sp
|
|
2399
2431
|
_(see [spec/acceptance/rest/push_admin_spec.rb](./spec/acceptance/rest/push_admin_spec.rb))_
|
2400
2432
|
* using JSON protocol
|
2401
2433
|
* #publish
|
2402
|
-
* [accepts valid push data and recipient (#RSH1a)](./spec/acceptance/rest/push_admin_spec.rb#
|
2434
|
+
* [accepts valid push data and recipient (#RSH1a)](./spec/acceptance/rest/push_admin_spec.rb#L111)
|
2403
2435
|
* without publish permissions
|
2404
2436
|
* [raises a permissions issue exception](./spec/acceptance/rest/push_admin_spec.rb#L40)
|
2405
2437
|
* invalid arguments (#RHS1a)
|
@@ -2412,71 +2444,71 @@ _(see [spec/acceptance/rest/push_admin_spec.rb](./spec/acceptance/rest/push_admi
|
|
2412
2444
|
* invalid push data (#RSH1a)
|
2413
2445
|
* [raises an error after receiving a 40x realtime response](./spec/acceptance/rest/push_admin_spec.rb#L70)
|
2414
2446
|
* recipient variable case
|
2415
|
-
* [is converted to snakeCase](./spec/acceptance/rest/push_admin_spec.rb#
|
2447
|
+
* [is converted to snakeCase](./spec/acceptance/rest/push_admin_spec.rb#L105)
|
2416
2448
|
* using test environment channel recipient (#RSH1a)
|
2417
|
-
* [triggers a push notification](./spec/acceptance/rest/push_admin_spec.rb#
|
2449
|
+
* [triggers a push notification](./spec/acceptance/rest/push_admin_spec.rb#L136)
|
2418
2450
|
* #device_registrations (#RSH1b)
|
2419
2451
|
* without permissions
|
2420
|
-
* [raises a permissions not authorized exception](./spec/acceptance/rest/push_admin_spec.rb#
|
2452
|
+
* [raises a permissions not authorized exception](./spec/acceptance/rest/push_admin_spec.rb#L156)
|
2421
2453
|
* #list (#RSH1b2)
|
2422
|
-
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/rest/push_admin_spec.rb#
|
2423
|
-
* [returns an empty PaginatedResult if not params match](./spec/acceptance/rest/push_admin_spec.rb#
|
2424
|
-
* [supports paging](./spec/acceptance/rest/push_admin_spec.rb#
|
2425
|
-
* [provides filtering](./spec/acceptance/rest/push_admin_spec.rb#
|
2454
|
+
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/rest/push_admin_spec.rb#L197)
|
2455
|
+
* [returns an empty PaginatedResult if not params match](./spec/acceptance/rest/push_admin_spec.rb#L203)
|
2456
|
+
* [supports paging](./spec/acceptance/rest/push_admin_spec.rb#L209)
|
2457
|
+
* [provides filtering](./spec/acceptance/rest/push_admin_spec.rb#L221)
|
2426
2458
|
* #get (#RSH1b1)
|
2427
|
-
* [returns a DeviceDetails object if a device ID string is provided](./spec/acceptance/rest/push_admin_spec.rb#
|
2428
|
-
* [returns a DeviceDetails object if a DeviceDetails object is provided](./spec/acceptance/rest/push_admin_spec.rb#
|
2429
|
-
* [raises a ResourceMissing exception if device ID does not exist](./spec/acceptance/rest/push_admin_spec.rb#
|
2459
|
+
* [returns a DeviceDetails object if a device ID string is provided](./spec/acceptance/rest/push_admin_spec.rb#L266)
|
2460
|
+
* [returns a DeviceDetails object if a DeviceDetails object is provided](./spec/acceptance/rest/push_admin_spec.rb#L274)
|
2461
|
+
* [raises a ResourceMissing exception if device ID does not exist](./spec/acceptance/rest/push_admin_spec.rb#L282)
|
2430
2462
|
* #save (#RSH1b3)
|
2431
|
-
* [saves the new DeviceDetails Hash object](./spec/acceptance/rest/push_admin_spec.rb#
|
2432
|
-
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#
|
2433
|
-
* [does not allow some fields to be configured](./spec/acceptance/rest/push_admin_spec.rb#
|
2434
|
-
* [allows device_secret to be configured](./spec/acceptance/rest/push_admin_spec.rb#
|
2435
|
-
* [saves the new DeviceDetails object](./spec/acceptance/rest/push_admin_spec.rb#
|
2436
|
-
* [allows arbitrary number of subsequent saves](./spec/acceptance/rest/push_admin_spec.rb#
|
2437
|
-
* [fails if data is invalid](./spec/acceptance/rest/push_admin_spec.rb#
|
2463
|
+
* [saves the new DeviceDetails Hash object](./spec/acceptance/rest/push_admin_spec.rb#L327)
|
2464
|
+
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#L342)
|
2465
|
+
* [does not allow some fields to be configured](./spec/acceptance/rest/push_admin_spec.rb#L396)
|
2466
|
+
* [allows device_secret to be configured](./spec/acceptance/rest/push_admin_spec.rb#L409)
|
2467
|
+
* [saves the new DeviceDetails object](./spec/acceptance/rest/push_admin_spec.rb#L418)
|
2468
|
+
* [allows arbitrary number of subsequent saves](./spec/acceptance/rest/push_admin_spec.rb#L427)
|
2469
|
+
* [fails if data is invalid](./spec/acceptance/rest/push_admin_spec.rb#L440)
|
2438
2470
|
* with GCM target
|
2439
|
-
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#
|
2471
|
+
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#L356)
|
2440
2472
|
* with web target
|
2441
|
-
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#
|
2473
|
+
* [saves the associated DevicePushDetails](./spec/acceptance/rest/push_admin_spec.rb#L377)
|
2442
2474
|
* #remove_where (#RSH1b5)
|
2443
|
-
* [removes all matching device registrations by client_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2444
|
-
* [removes device by device_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2445
|
-
* [succeeds even if there is no match](./spec/acceptance/rest/push_admin_spec.rb#
|
2475
|
+
* [removes all matching device registrations by client_id](./spec/acceptance/rest/push_admin_spec.rb#L492)
|
2476
|
+
* [removes device by device_id](./spec/acceptance/rest/push_admin_spec.rb#L497)
|
2477
|
+
* [succeeds even if there is no match](./spec/acceptance/rest/push_admin_spec.rb#L502)
|
2446
2478
|
* #remove (#RSH1b4)
|
2447
|
-
* [removes the provided device id string](./spec/acceptance/rest/push_admin_spec.rb#
|
2448
|
-
* [removes the provided DeviceDetails](./spec/acceptance/rest/push_admin_spec.rb#
|
2449
|
-
* [succeeds if the item does not exist](./spec/acceptance/rest/push_admin_spec.rb#
|
2479
|
+
* [removes the provided device id string](./spec/acceptance/rest/push_admin_spec.rb#L555)
|
2480
|
+
* [removes the provided DeviceDetails](./spec/acceptance/rest/push_admin_spec.rb#L560)
|
2481
|
+
* [succeeds if the item does not exist](./spec/acceptance/rest/push_admin_spec.rb#L565)
|
2450
2482
|
* #channel_subscriptions (#RSH1c)
|
2451
2483
|
* #list (#RSH1c1)
|
2452
|
-
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/rest/push_admin_spec.rb#
|
2453
|
-
* [returns an empty PaginatedResult if params do not match](./spec/acceptance/rest/push_admin_spec.rb#
|
2454
|
-
* [supports paging](./spec/acceptance/rest/push_admin_spec.rb#
|
2455
|
-
* [provides filtering](./spec/acceptance/rest/push_admin_spec.rb#
|
2456
|
-
* [raises an exception if none of the required filters are provided](./spec/acceptance/rest/push_admin_spec.rb#
|
2484
|
+
* [returns a PaginatedResult object containing DeviceDetails objects](./spec/acceptance/rest/push_admin_spec.rb#L633)
|
2485
|
+
* [returns an empty PaginatedResult if params do not match](./spec/acceptance/rest/push_admin_spec.rb#L639)
|
2486
|
+
* [supports paging](./spec/acceptance/rest/push_admin_spec.rb#L645)
|
2487
|
+
* [provides filtering](./spec/acceptance/rest/push_admin_spec.rb#L657)
|
2488
|
+
* [raises an exception if none of the required filters are provided](./spec/acceptance/rest/push_admin_spec.rb#L685)
|
2457
2489
|
* #list_channels (#RSH1c2)
|
2458
|
-
* [returns a PaginatedResult object containing String objects](./spec/acceptance/rest/push_admin_spec.rb#
|
2459
|
-
*
|
2460
|
-
* [returns an accurate number of channels after devices are deleted](./spec/acceptance/rest/push_admin_spec.rb#
|
2490
|
+
* [returns a PaginatedResult object containing String objects](./spec/acceptance/rest/push_admin_spec.rb#L712)
|
2491
|
+
* [supports paging](./spec/acceptance/rest/push_admin_spec.rb#L719)
|
2492
|
+
* [returns an accurate number of channels after devices are deleted](./spec/acceptance/rest/push_admin_spec.rb#L734)
|
2461
2493
|
* #save (#RSH1c3)
|
2462
|
-
* [saves the new client_id PushChannelSubscription Hash object](./spec/acceptance/rest/push_admin_spec.rb#
|
2463
|
-
* [saves the new device_id PushChannelSubscription Hash object](./spec/acceptance/rest/push_admin_spec.rb#
|
2464
|
-
* [saves the client_id PushChannelSubscription object](./spec/acceptance/rest/push_admin_spec.rb#
|
2465
|
-
* [saves the device_id PushChannelSubscription object](./spec/acceptance/rest/push_admin_spec.rb#
|
2466
|
-
* [allows arbitrary number of subsequent saves](./spec/acceptance/rest/push_admin_spec.rb#
|
2467
|
-
* [fails if data is invalid](./spec/acceptance/rest/push_admin_spec.rb#
|
2494
|
+
* [saves the new client_id PushChannelSubscription Hash object](./spec/acceptance/rest/push_admin_spec.rb#L759)
|
2495
|
+
* [saves the new device_id PushChannelSubscription Hash object](./spec/acceptance/rest/push_admin_spec.rb#L770)
|
2496
|
+
* [saves the client_id PushChannelSubscription object](./spec/acceptance/rest/push_admin_spec.rb#L781)
|
2497
|
+
* [saves the device_id PushChannelSubscription object](./spec/acceptance/rest/push_admin_spec.rb#L792)
|
2498
|
+
* [allows arbitrary number of subsequent saves](./spec/acceptance/rest/push_admin_spec.rb#L803)
|
2499
|
+
* [fails if data is invalid](./spec/acceptance/rest/push_admin_spec.rb#L816)
|
2468
2500
|
* #remove_where (#RSH1c5)
|
2469
|
-
* PENDING: *[removes matching channels](./spec/acceptance/rest/push_admin_spec.rb#
|
2470
|
-
* [removes matching client_ids](./spec/acceptance/rest/push_admin_spec.rb#
|
2471
|
-
* [removes matching device_ids](./spec/acceptance/rest/push_admin_spec.rb#
|
2472
|
-
* [device_id and client_id filters in the same request are not suppoorted](./spec/acceptance/rest/push_admin_spec.rb#
|
2473
|
-
* [succeeds on no match](./spec/acceptance/rest/push_admin_spec.rb#
|
2501
|
+
* PENDING: *[removes matching channels](./spec/acceptance/rest/push_admin_spec.rb#L851)*
|
2502
|
+
* [removes matching client_ids](./spec/acceptance/rest/push_admin_spec.rb#L859)
|
2503
|
+
* [removes matching device_ids](./spec/acceptance/rest/push_admin_spec.rb#L865)
|
2504
|
+
* [device_id and client_id filters in the same request are not suppoorted](./spec/acceptance/rest/push_admin_spec.rb#L871)
|
2505
|
+
* [succeeds on no match](./spec/acceptance/rest/push_admin_spec.rb#L875)
|
2474
2506
|
* #remove (#RSH1c4)
|
2475
|
-
* [removes match for Hash object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2476
|
-
* [removes match for PushChannelSubscription object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2477
|
-
* [removes match for Hash object by channel and device_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2478
|
-
* [removes match for PushChannelSubscription object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#
|
2479
|
-
* [succeeds even if there is no match](./spec/acceptance/rest/push_admin_spec.rb#
|
2507
|
+
* [removes match for Hash object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#L905)
|
2508
|
+
* [removes match for PushChannelSubscription object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#L910)
|
2509
|
+
* [removes match for Hash object by channel and device_id](./spec/acceptance/rest/push_admin_spec.rb#L917)
|
2510
|
+
* [removes match for PushChannelSubscription object by channel and client_id](./spec/acceptance/rest/push_admin_spec.rb#L922)
|
2511
|
+
* [succeeds even if there is no match](./spec/acceptance/rest/push_admin_spec.rb#L929)
|
2480
2512
|
|
2481
2513
|
### Ably::Rest::Push
|
2482
2514
|
_(see [spec/acceptance/rest/push_spec.rb](./spec/acceptance/rest/push_spec.rb))_
|
@@ -3772,54 +3804,52 @@ _(see [spec/unit/realtime/client_spec.rb](./spec/unit/realtime/client_spec.rb))_
|
|
3772
3804
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L60)
|
3773
3805
|
* key and key_secret
|
3774
3806
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L68)
|
3775
|
-
* client_id as only option
|
3776
|
-
* [requires a valid key](./spec/shared/client_initializer_behaviour.rb#L76)
|
3777
3807
|
* with valid arguments
|
3778
3808
|
* key only
|
3779
|
-
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#
|
3780
|
-
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#
|
3809
|
+
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L79)
|
3810
|
+
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#L83)
|
3781
3811
|
* with a string key instead of options hash
|
3782
|
-
* [sets the key](./spec/shared/client_initializer_behaviour.rb#
|
3783
|
-
* [sets the key_name](./spec/shared/client_initializer_behaviour.rb#
|
3784
|
-
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#
|
3785
|
-
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#
|
3812
|
+
* [sets the key](./spec/shared/client_initializer_behaviour.rb#L103)
|
3813
|
+
* [sets the key_name](./spec/shared/client_initializer_behaviour.rb#L107)
|
3814
|
+
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#L111)
|
3815
|
+
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#L115)
|
3786
3816
|
* with a string token key instead of options hash
|
3787
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
3817
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L127)
|
3788
3818
|
* with token
|
3789
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
3819
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L135)
|
3790
3820
|
* with token_details
|
3791
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
3821
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L143)
|
3792
3822
|
* with token_params
|
3793
|
-
* [configures default_token_params](./spec/shared/client_initializer_behaviour.rb#
|
3823
|
+
* [configures default_token_params](./spec/shared/client_initializer_behaviour.rb#L151)
|
3794
3824
|
* endpoint
|
3795
|
-
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#
|
3825
|
+
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#L162)
|
3796
3826
|
* with environment option
|
3797
|
-
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#
|
3827
|
+
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#L169)
|
3798
3828
|
* with rest_host option
|
3799
|
-
* PENDING: *[uses an alternate endpoint for REST clients](./spec/shared/client_initializer_behaviour.rb#
|
3829
|
+
* PENDING: *[uses an alternate endpoint for REST clients](./spec/shared/client_initializer_behaviour.rb#L177)*
|
3800
3830
|
* with realtime_host option
|
3801
|
-
* [uses an alternate endpoint for Realtime clients](./spec/shared/client_initializer_behaviour.rb#
|
3831
|
+
* [uses an alternate endpoint for Realtime clients](./spec/shared/client_initializer_behaviour.rb#L186)
|
3802
3832
|
* with port option and non-TLS connections
|
3803
|
-
* [uses the custom port for non-TLS requests](./spec/shared/client_initializer_behaviour.rb#
|
3833
|
+
* [uses the custom port for non-TLS requests](./spec/shared/client_initializer_behaviour.rb#L195)
|
3804
3834
|
* with tls_port option and a TLS connection
|
3805
|
-
* [uses the custom port for TLS requests](./spec/shared/client_initializer_behaviour.rb#
|
3835
|
+
* [uses the custom port for TLS requests](./spec/shared/client_initializer_behaviour.rb#L203)
|
3806
3836
|
* tls
|
3807
|
-
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#
|
3837
|
+
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#L226)
|
3808
3838
|
* set to false
|
3809
|
-
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#
|
3810
|
-
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#
|
3839
|
+
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#L217)
|
3840
|
+
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#L221)
|
3811
3841
|
* logger
|
3812
3842
|
* default
|
3813
|
-
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#
|
3814
|
-
* [specifies Logger::WARN log level](./spec/shared/client_initializer_behaviour.rb#
|
3843
|
+
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#L237)
|
3844
|
+
* [specifies Logger::WARN log level](./spec/shared/client_initializer_behaviour.rb#L241)
|
3815
3845
|
* with log_level :none
|
3816
|
-
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#
|
3846
|
+
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L249)
|
3817
3847
|
* with custom logger and log_level
|
3818
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
3819
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
3848
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L259)
|
3849
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L263)
|
3820
3850
|
* delegators
|
3821
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3822
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3851
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L277)
|
3852
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L282)
|
3823
3853
|
* delegation to the REST Client
|
3824
3854
|
* [passes on the options to the initializer](./spec/unit/realtime/client_spec.rb#L15)
|
3825
3855
|
* for attribute
|
@@ -3827,9 +3857,11 @@ _(see [spec/unit/realtime/client_spec.rb](./spec/unit/realtime/client_spec.rb))_
|
|
3827
3857
|
* [#use_tls?](./spec/unit/realtime/client_spec.rb#L23)
|
3828
3858
|
* [#log_level](./spec/unit/realtime/client_spec.rb#L23)
|
3829
3859
|
* [#custom_host](./spec/unit/realtime/client_spec.rb#L23)
|
3860
|
+
* when :transport_params option is passed
|
3861
|
+
* [converts options to strings](./spec/unit/realtime/client_spec.rb#L39)
|
3830
3862
|
* push
|
3831
|
-
* [#device is not supported and raises an exception](./spec/unit/realtime/client_spec.rb#
|
3832
|
-
* [#push returns a Push object](./spec/unit/realtime/client_spec.rb#
|
3863
|
+
* [#device is not supported and raises an exception](./spec/unit/realtime/client_spec.rb#L47)
|
3864
|
+
* [#push returns a Push object](./spec/unit/realtime/client_spec.rb#L51)
|
3833
3865
|
|
3834
3866
|
### Ably::Realtime::Connection
|
3835
3867
|
_(see [spec/unit/realtime/connection_spec.rb](./spec/unit/realtime/connection_spec.rb))_
|
@@ -3980,54 +4012,52 @@ _(see [spec/unit/rest/client_spec.rb](./spec/unit/rest/client_spec.rb))_
|
|
3980
4012
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L60)
|
3981
4013
|
* key and key_secret
|
3982
4014
|
* [raises an exception](./spec/shared/client_initializer_behaviour.rb#L68)
|
3983
|
-
* client_id as only option
|
3984
|
-
* [requires a valid key](./spec/shared/client_initializer_behaviour.rb#L76)
|
3985
4015
|
* with valid arguments
|
3986
4016
|
* key only
|
3987
|
-
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#
|
3988
|
-
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#
|
4017
|
+
* [connects to the Ably service](./spec/shared/client_initializer_behaviour.rb#L79)
|
4018
|
+
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#L83)
|
3989
4019
|
* with a string key instead of options hash
|
3990
|
-
* [sets the key](./spec/shared/client_initializer_behaviour.rb#
|
3991
|
-
* [sets the key_name](./spec/shared/client_initializer_behaviour.rb#
|
3992
|
-
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#
|
3993
|
-
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#
|
4020
|
+
* [sets the key](./spec/shared/client_initializer_behaviour.rb#L103)
|
4021
|
+
* [sets the key_name](./spec/shared/client_initializer_behaviour.rb#L107)
|
4022
|
+
* [sets the key_secret](./spec/shared/client_initializer_behaviour.rb#L111)
|
4023
|
+
* [uses basic auth](./spec/shared/client_initializer_behaviour.rb#L115)
|
3994
4024
|
* with a string token key instead of options hash
|
3995
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
4025
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L127)
|
3996
4026
|
* with token
|
3997
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
4027
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L135)
|
3998
4028
|
* with token_details
|
3999
|
-
* [sets the token](./spec/shared/client_initializer_behaviour.rb#
|
4029
|
+
* [sets the token](./spec/shared/client_initializer_behaviour.rb#L143)
|
4000
4030
|
* with token_params
|
4001
|
-
* [configures default_token_params](./spec/shared/client_initializer_behaviour.rb#
|
4031
|
+
* [configures default_token_params](./spec/shared/client_initializer_behaviour.rb#L151)
|
4002
4032
|
* endpoint
|
4003
|
-
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#
|
4033
|
+
* [defaults to production](./spec/shared/client_initializer_behaviour.rb#L162)
|
4004
4034
|
* with environment option
|
4005
|
-
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#
|
4035
|
+
* [uses an alternate endpoint](./spec/shared/client_initializer_behaviour.rb#L169)
|
4006
4036
|
* with rest_host option
|
4007
|
-
* [uses an alternate endpoint for REST clients](./spec/shared/client_initializer_behaviour.rb#
|
4037
|
+
* [uses an alternate endpoint for REST clients](./spec/shared/client_initializer_behaviour.rb#L177)
|
4008
4038
|
* with realtime_host option
|
4009
|
-
* PENDING: *[uses an alternate endpoint for Realtime clients](./spec/shared/client_initializer_behaviour.rb#
|
4039
|
+
* PENDING: *[uses an alternate endpoint for Realtime clients](./spec/shared/client_initializer_behaviour.rb#L186)*
|
4010
4040
|
* with port option and non-TLS connections
|
4011
|
-
* [uses the custom port for non-TLS requests](./spec/shared/client_initializer_behaviour.rb#
|
4041
|
+
* [uses the custom port for non-TLS requests](./spec/shared/client_initializer_behaviour.rb#L195)
|
4012
4042
|
* with tls_port option and a TLS connection
|
4013
|
-
* [uses the custom port for TLS requests](./spec/shared/client_initializer_behaviour.rb#
|
4043
|
+
* [uses the custom port for TLS requests](./spec/shared/client_initializer_behaviour.rb#L203)
|
4014
4044
|
* tls
|
4015
|
-
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#
|
4045
|
+
* [defaults to TLS](./spec/shared/client_initializer_behaviour.rb#L226)
|
4016
4046
|
* set to false
|
4017
|
-
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#
|
4018
|
-
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#
|
4047
|
+
* [uses plain text](./spec/shared/client_initializer_behaviour.rb#L217)
|
4048
|
+
* [uses HTTP](./spec/shared/client_initializer_behaviour.rb#L221)
|
4019
4049
|
* logger
|
4020
4050
|
* default
|
4021
|
-
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#
|
4022
|
-
* [specifies Logger::WARN log level](./spec/shared/client_initializer_behaviour.rb#
|
4051
|
+
* [uses Ruby Logger](./spec/shared/client_initializer_behaviour.rb#L237)
|
4052
|
+
* [specifies Logger::WARN log level](./spec/shared/client_initializer_behaviour.rb#L241)
|
4023
4053
|
* with log_level :none
|
4024
|
-
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#
|
4054
|
+
* [silences all logging with a NilLogger](./spec/shared/client_initializer_behaviour.rb#L249)
|
4025
4055
|
* with custom logger and log_level
|
4026
|
-
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#
|
4027
|
-
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#
|
4056
|
+
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L259)
|
4057
|
+
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L263)
|
4028
4058
|
* delegators
|
4029
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
4030
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
4059
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L277)
|
4060
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L282)
|
4031
4061
|
* initializer options
|
4032
4062
|
* TLS
|
4033
4063
|
* disabled
|
@@ -4115,6 +4145,6 @@ _(see [spec/unit/util/pub_sub_spec.rb](./spec/unit/util/pub_sub_spec.rb))_
|
|
4115
4145
|
|
4116
4146
|
## Test summary
|
4117
4147
|
|
4118
|
-
* Passing tests:
|
4119
|
-
* Pending tests:
|
4120
|
-
* Failing tests:
|
4148
|
+
* Passing tests: 2073
|
4149
|
+
* Pending tests: 5
|
4150
|
+
* Failing tests: 1
|