ably 1.1.4 → 1.1.8
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 +15 -1
- data/CHANGELOG.md +109 -0
- data/COPYRIGHT +1 -1
- data/README.md +23 -9
- data/SPEC.md +289 -228
- data/ably.gemspec +14 -9
- data/lib/ably/agent.rb +3 -0
- data/lib/ably/exceptions.rb +6 -0
- data/lib/ably/models/connection_details.rb +8 -0
- data/lib/ably/models/delta_extras.rb +29 -0
- data/lib/ably/models/error_info.rb +6 -2
- data/lib/ably/models/message.rb +25 -0
- data/lib/ably/models/presence_message.rb +14 -0
- data/lib/ably/models/protocol_message.rb +13 -8
- data/lib/ably/modules/ably.rb +11 -1
- data/lib/ably/realtime/channel/channel_manager.rb +2 -2
- data/lib/ably/realtime/channel/channel_state_machine.rb +5 -1
- data/lib/ably/realtime/channel/publisher.rb +6 -0
- data/lib/ably/realtime/channel.rb +2 -0
- data/lib/ably/realtime/client/incoming_message_dispatcher.rb +14 -6
- data/lib/ably/realtime/client.rb +1 -0
- data/lib/ably/realtime/connection/connection_manager.rb +13 -4
- data/lib/ably/realtime/connection/connection_state_machine.rb +4 -0
- data/lib/ably/realtime/connection.rb +2 -2
- data/lib/ably/rest/channel.rb +11 -3
- data/lib/ably/rest/client.rb +37 -18
- data/lib/ably/rest/middleware/fail_if_unsupported_mime_type.rb +4 -1
- data/lib/ably/version.rb +1 -13
- data/lib/ably.rb +1 -0
- data/spec/acceptance/realtime/auth_spec.rb +1 -1
- data/spec/acceptance/realtime/channel_history_spec.rb +25 -0
- data/spec/acceptance/realtime/channel_spec.rb +220 -1
- data/spec/acceptance/realtime/connection_failures_spec.rb +85 -13
- data/spec/acceptance/realtime/connection_spec.rb +263 -32
- data/spec/acceptance/realtime/presence_history_spec.rb +3 -1
- data/spec/acceptance/realtime/presence_spec.rb +31 -159
- data/spec/acceptance/rest/base_spec.rb +8 -4
- data/spec/acceptance/rest/channel_spec.rb +84 -9
- data/spec/acceptance/rest/channels_spec.rb +1 -1
- data/spec/acceptance/rest/client_spec.rb +72 -33
- data/spec/shared/client_initializer_behaviour.rb +131 -0
- data/spec/shared/model_behaviour.rb +1 -1
- data/spec/spec_helper.rb +11 -2
- data/spec/support/test_app.rb +1 -1
- data/spec/unit/models/delta_extras_spec.rb +14 -0
- data/spec/unit/models/error_info_spec.rb +17 -1
- data/spec/unit/models/message_spec.rb +83 -0
- data/spec/unit/models/presence_message_spec.rb +49 -0
- data/spec/unit/models/protocol_message_spec.rb +72 -20
- data/spec/unit/realtime/channel_spec.rb +3 -2
- data/spec/unit/realtime/channels_spec.rb +3 -3
- data/spec/unit/realtime/incoming_message_dispatcher_spec.rb +38 -0
- data/spec/unit/rest/channel_spec.rb +44 -1
- data/spec/unit/rest/client_spec.rb +47 -0
- metadata +48 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba8f2b01b35fceead7297645f54cb854017e14c8a004882d5b414becc450feef
|
4
|
+
data.tar.gz: c116cce13d8ed06a9858e252a81918530d54f15e1a20c4b3ef30e5334408ec1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0761591d9f838201f208c3d44d8068ad77c87591e737083cab548e77a104a6d7bd2da2cc360e01ad661c33f3af09220813ad19fe7d93f6759a7a88de82180d9
|
7
|
+
data.tar.gz: ca14639736fc07b1d00323df0073b37e0e2f51d6a2681bf868173708aafd45a89fbc872d4c16c600a41ebea9488c336a5422bdddbf8b80daa912ce9ef231945c
|
data/.github/workflows/check.yml
CHANGED
@@ -10,7 +10,7 @@ jobs:
|
|
10
10
|
continue-on-error: true
|
11
11
|
strategy:
|
12
12
|
matrix:
|
13
|
-
ruby: [ '2.5', '2.6', '2.7' ]
|
13
|
+
ruby: [ '2.5', '2.6', '2.7', '3.0' ]
|
14
14
|
protocol: [ 'json', 'msgpack' ]
|
15
15
|
steps:
|
16
16
|
- uses: actions/checkout@v2
|
@@ -25,3 +25,17 @@ jobs:
|
|
25
25
|
PARALLEL_TEST_PROCESSORS: 2
|
26
26
|
PROTOCOL: ${{ matrix.protocol }}
|
27
27
|
run: ./spec/run_parallel_tests
|
28
|
+
- uses: coverallsapp/github-action@1.1.3
|
29
|
+
with:
|
30
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
31
|
+
flag-name: run-ruby_${{ matrix.ruby }}-${{ matrix.protocol }}_protocol
|
32
|
+
parallel: true
|
33
|
+
finish:
|
34
|
+
needs: check
|
35
|
+
runs-on: ubuntu-latest
|
36
|
+
steps:
|
37
|
+
- name: Coveralls Finished
|
38
|
+
uses: coverallsapp/github-action@1.1.3
|
39
|
+
with:
|
40
|
+
github-token: ${{ secrets.github_token }}
|
41
|
+
parallel-finished: true
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,114 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.1.8](https://github.com/ably/ably-ruby/tree/v1.1.8)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.7...v1.1.8)
|
6
|
+
|
7
|
+
**Fixed bugs:**
|
8
|
+
|
9
|
+
- Lib apparently closing the socket after each request [\#211](https://github.com/ably/ably-ruby/issues/211)
|
10
|
+
|
11
|
+
**Closed issues:**
|
12
|
+
|
13
|
+
- Resolve config.around\(\) issue and upgrade rspec [\#313](https://github.com/ably/ably-ruby/issues/313)
|
14
|
+
- Write spec tests for RTL21 [\#308](https://github.com/ably/ably-ruby/issues/308)
|
15
|
+
- Write spec tests for RTL20 [\#307](https://github.com/ably/ably-ruby/issues/307)
|
16
|
+
- Write spec tests for RTL19, RTL19a, b, c [\#306](https://github.com/ably/ably-ruby/issues/306)
|
17
|
+
- Write spec tests for RTL18, RTL18a, b, c [\#305](https://github.com/ably/ably-ruby/issues/305)
|
18
|
+
- Add support for RTL20 [\#295](https://github.com/ably/ably-ruby/issues/295)
|
19
|
+
- Add support for RTL19, RTL19a, b, c [\#294](https://github.com/ably/ably-ruby/issues/294)
|
20
|
+
- Add support for RTL18, RTL18a, b, c [\#293](https://github.com/ably/ably-ruby/issues/293)
|
21
|
+
- Write spec tests for RSL6b, RLS7 \(Channels\) [\#284](https://github.com/ably/ably-ruby/issues/284)
|
22
|
+
- Write spec tests for RSC15e, d, f \(Host Fallback \)
|
23
|
+
[\#280](https://github.com/ably/ably-ruby/issues/280)
|
24
|
+
- Write spec tests for RSC7a, RSC7c \(RestClient\)
|
25
|
+
[\#279](https://github.com/ably/ably-ruby/issues/279)
|
26
|
+
- Add support for DataTypes ChannelOptions TB2c, d [\#278](https://github.com/ably/ably-ruby/issues/278)
|
27
|
+
- Add support for DataTypes TokenParams AO2g [\#277](https://github.com/ably/ably-ruby/issues/277)
|
28
|
+
- Add support for DataTypes ClientOptions TO3j10 [\#276](https://github.com/ably/ably-ruby/issues/276)
|
29
|
+
- Add support for DataTypes ErrorInfo TI1 [\#275](https://github.com/ably/ably-ruby/issues/275)
|
30
|
+
- Add support for DataTypes ProtocolMessage TR3f, TR4i, q [\#274](https://github.com/ably/ably-ruby/issues/274)
|
31
|
+
- Add support for TM2i \(DataTypes Message\) [\#273](https://github.com/ably/ably-ruby/issues/273)
|
32
|
+
- Add support for PC1, PC2, PC3, PC3a \(Plugins\) [\#272](https://github.com/ably/ably-ruby/issues/272)
|
33
|
+
- Add support for RSL6b, RLS7 \(Channels\) [\#271](https://github.com/ably/ably-ruby/issues/271)
|
34
|
+
- Add support for RSL1a, b, h, k1, k2, l, l1 \(Channels\) [\#270](https://github.com/ably/ably-ruby/issues/270)
|
35
|
+
- Add support for RSC15e, d, f \(Host Fallback \)
|
36
|
+
[\#267](https://github.com/ably/ably-ruby/issues/267)
|
37
|
+
- Update client options support to 1.1 spec level \(logExceptionReportingUrl\) [\#246](https://github.com/ably/ably-ruby/issues/246)
|
38
|
+
- Confirm status of remaining realtime spec items for 1.0 [\#244](https://github.com/ably/ably-ruby/issues/244)
|
39
|
+
|
40
|
+
**Merged pull requests:**
|
41
|
+
|
42
|
+
- Allowing ConnectionDetails\#max\_message\_size [\#342](https://github.com/ably/ably-ruby/pull/342) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
43
|
+
- Add specs for RTL17 [\#335](https://github.com/ably/ably-ruby/pull/335) ([TheSmartnik](https://github.com/TheSmartnik))
|
44
|
+
- Add spec for RTP5b [\#332](https://github.com/ably/ably-ruby/pull/332) ([TheSmartnik](https://github.com/TheSmartnik))
|
45
|
+
- Update specs with comments to docs seciton for RSN3a/RSN3c [\#331](https://github.com/ably/ably-ruby/pull/331) ([TheSmartnik](https://github.com/TheSmartnik))
|
46
|
+
- Fix after suite hook in specs [\#329](https://github.com/ably/ably-ruby/pull/329) ([TheSmartnik](https://github.com/TheSmartnik))
|
47
|
+
- Add specs for RTN15h2 [\#328](https://github.com/ably/ably-ruby/pull/328) ([TheSmartnik](https://github.com/TheSmartnik))
|
48
|
+
- Add specs for RTN12f [\#327](https://github.com/ably/ably-ruby/pull/327) ([TheSmartnik](https://github.com/TheSmartnik))
|
49
|
+
- Added Channel\#set\_options and Channel\#options= aliases [\#326](https://github.com/ably/ably-ruby/pull/326) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
50
|
+
- Added DeltaExtras class and Message\#delta\_extras method. \(TM2i\) [\#325](https://github.com/ably/ably-ruby/pull/325) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
51
|
+
- When connection disconnectes and can't renew token it fails \(RTN15h1\) [\#324](https://github.com/ably/ably-ruby/pull/324) ([TheSmartnik](https://github.com/TheSmartnik))
|
52
|
+
- RTN-13c Add spec that channels do not reattach when connection isn't connected [\#323](https://github.com/ably/ably-ruby/pull/323) ([TheSmartnik](https://github.com/TheSmartnik))
|
53
|
+
- Add support for DataTypes ProtocolMessage: has\_attach\_resume\_flag? [\#322](https://github.com/ably/ably-ruby/pull/322) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
54
|
+
- Added request\_id and cause attributes to the ErrorInfo class TI1, RSC7c [\#321](https://github.com/ably/ably-ruby/pull/321) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
55
|
+
- Add spec for RTN12d [\#318](https://github.com/ably/ably-ruby/pull/318) ([TheSmartnik](https://github.com/TheSmartnik))
|
56
|
+
- Change behavior when reconnecting from failed state \(RTN11d\) [\#316](https://github.com/ably/ably-ruby/pull/316) ([TheSmartnik](https://github.com/TheSmartnik))
|
57
|
+
- Remove deprecated ProtocolMessage\#connection\_key TR4e [\#315](https://github.com/ably/ably-ruby/pull/315) ([TheSmartnik](https://github.com/TheSmartnik))
|
58
|
+
- Upgrade rspec to 3.10 [\#314](https://github.com/ably/ably-ruby/pull/314) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
59
|
+
- Add a spec for \#RTN11c [\#257](https://github.com/ably/ably-ruby/pull/257) ([TheSmartnik](https://github.com/TheSmartnik))
|
60
|
+
|
61
|
+
|
62
|
+
## [v1.1.7](https://github.com/ably/ably-ruby/tree/v1.1.7)
|
63
|
+
|
64
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.6...v1.1.7)
|
65
|
+
|
66
|
+
**Implemented enhancements:**
|
67
|
+
|
68
|
+
- Implement RSC7d \(Ably-Agent header\) [\#230](https://github.com/ably/ably-ruby/issues/230)
|
69
|
+
- Support Ruby 3.x [\#220](https://github.com/ably/ably-ruby/issues/220)
|
70
|
+
|
71
|
+
**Closed issues:**
|
72
|
+
|
73
|
+
- Create code snippets for homepage \(ruby\) [\#249](https://github.com/ably/ably-ruby/issues/249)
|
74
|
+
- Update client options support to 1.1 spec level \(maxMessageSize\) [\#247](https://github.com/ably/ably-ruby/issues/247)
|
75
|
+
- Update client options support to 1.1 spec level \(maxFrameSize\) [\#245](https://github.com/ably/ably-ruby/issues/245)
|
76
|
+
|
77
|
+
**Merged pull requests:**
|
78
|
+
|
79
|
+
- Enabled TLS hostname validation CVE-2020-13482 [\#263](https://github.com/ably/ably-ruby/pull/263) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
80
|
+
- Ruby 3.0 support [\#260](https://github.com/ably/ably-ruby/pull/260) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
81
|
+
- TO3l9 Max frame size [\#259](https://github.com/ably/ably-ruby/pull/259) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
82
|
+
- Update client options support to 1.1 spec level \(maxMessageSize\) [\#252](https://github.com/ably/ably-ruby/pull/252) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
83
|
+
- Update ably-common to latest main [\#251](https://github.com/ably/ably-ruby/pull/251) ([owenpearson](https://github.com/owenpearson))
|
84
|
+
- Implement RSC7d \(Ably-Agent header\) [\#248](https://github.com/ably/ably-ruby/pull/248) ([lukaszsliwa](https://github.com/lukaszsliwa))
|
85
|
+
- Upgrade statesman to ~\> 8.0 [\#237](https://github.com/ably/ably-ruby/pull/237) ([darkhelmet](https://github.com/darkhelmet))
|
86
|
+
- Update attach\_serial before emiting UPDATE event [\#228](https://github.com/ably/ably-ruby/pull/228) ([TheSmartnik](https://github.com/TheSmartnik))
|
87
|
+
|
88
|
+
## [v1.1.6](https://github.com/ably/ably-ruby/tree/v1.1.6)
|
89
|
+
|
90
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.5...v1.1.6)
|
91
|
+
|
92
|
+
This release will have no effect for users of the realtime `ably-ruby` client, however for users of `ably-ruby-rest` it will update the `faraday` dependency to 1.x (this change was already made for `ably-ruby` in `v1.1.5`).
|
93
|
+
|
94
|
+
**Merged pull requests:**
|
95
|
+
|
96
|
+
- Document libcurl requirement [\#243](https://github.com/ably/ably-ruby/pull/243) ([owenpearson](https://github.com/owenpearson))
|
97
|
+
- Fix broken markdown hyperlink in readme [\#242](https://github.com/ably/ably-ruby/pull/242) ([owenpearson](https://github.com/owenpearson))
|
98
|
+
- Update README with new Ably links [\#239](https://github.com/ably/ably-ruby/pull/239) ([mattheworiordan](https://github.com/mattheworiordan))
|
99
|
+
- Fix documentation for Channel\#publish [\#183](https://github.com/ably/ably-ruby/pull/183) ([zreisman](https://github.com/zreisman))
|
100
|
+
|
101
|
+
## [v1.1.5](https://github.com/ably/ably-ruby/tree/v1.1.5)
|
102
|
+
|
103
|
+
Please note: this library now depends on `libcurl` as a system dependency. On most systems this is already installed but in rare cases where it isn't (for example debian-slim Docker images such as ruby-slim) you will need to install it yourself. On debian you can install it with the command `sudo apt-get install libcurl4`.
|
104
|
+
|
105
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.4...v.1.1.5)
|
106
|
+
|
107
|
+
**Implemented enhancements:**
|
108
|
+
|
109
|
+
- Upgrade to support HTTP/2 [\#192](https://github.com/ably/ably-ruby/issues/192), fixed in [\#197](https://github.com/ably/ably-ruby/pull/197) ([mattheworiordan](https://github.com/mattheworiordan))
|
110
|
+
- Default fallback hosts for custom environments [\#232](https://github.com/ably/ably-ruby/issues/232), fixed in [\#196](https://github.com/ably/ably-ruby/pull/196) ([mattheworiordan](https://github.com/mattheworiordan), [owenpearson](https://github.com/owenpearson), [lmars](https://github.com/lmars))
|
111
|
+
|
3
112
|
## [v1.1.4](https://github.com/ably/ably-ruby/tree/v1.1.4)
|
4
113
|
|
5
114
|
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.3...v1.1.4)
|
data/COPYRIGHT
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Copyright 2015-
|
1
|
+
Copyright 2015-2022 Ably Real-time Ltd (ably.com)
|
data/README.md
CHANGED
@@ -1,21 +1,25 @@
|
|
1
|
-
# [Ably](https://
|
1
|
+
# [Ably](https://ably.com)
|
2
2
|
|
3
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
|
+
_[Ably](https://ably.com) is the platform that powers synchronized digital experiences in realtime. Whether attending an event in a virtual venue, receiving realtime financial information, or monitoring live car performance data – consumers simply expect realtime digital experiences as standard. Ably provides a suite of APIs to build, extend, and deliver powerful digital experiences in realtime for more than 250 million devices across 80 countries each month. Organizations like Bloomberg, HubSpot, Verizon, and Hopin depend on Ably’s platform to offload the growing complexity of business-critical realtime data synchronization at global scale. For more information, see the [Ably documentation](https://ably.com/documentation)._
|
7
|
+
|
8
|
+
This is a Ruby client library for Ably. The library currently targets the [Ably 1.1 client library specification](https://ably.com/documentation/client-lib-development-guide/features/). You can see the complete list of features this client library supports in [our client library SDKs feature support matrix](https://ably.com/download/sdk-feature-support-matrix).
|
7
9
|
|
8
10
|
## Supported platforms
|
9
11
|
|
10
|
-
This SDK supports Ruby 1.9.3+.
|
12
|
+
This SDK supports Ruby 1.9.3+. For eventmachine and Ruby 3.0 note please visit [Ruby 3.0 support](#ruby-30-support) section.
|
13
|
+
|
14
|
+
As of v1.1.5 this library requires `libcurl` as a system dependency. On most systems this is already installed but in rare cases where it isn't (for example debian-slim Docker images such as ruby-slim) you will need to install it yourself. On debian you can install it with the command `sudo apt-get install libcurl4`.
|
11
15
|
|
12
16
|
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
17
|
|
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://
|
18
|
+
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://ably.com/support/) for advice.
|
15
19
|
|
16
20
|
## Documentation
|
17
21
|
|
18
|
-
Visit https://
|
22
|
+
Visit https://ably.com/documentation for a complete API reference and code examples.
|
19
23
|
|
20
24
|
## Installation
|
21
25
|
|
@@ -35,7 +39,7 @@ Or install it yourself as:
|
|
35
39
|
|
36
40
|
### Using with Rails or Sinatra
|
37
41
|
|
38
|
-
This `ably` gem provides both a [Realtime](
|
42
|
+
This `ably` gem provides both a [Realtime](https://ably.com/documentation/realtime/usage) and [REST](https://ably.com/documentation/rest/usage) version of the Ably library. Realtime depends on EventMachine to provide an asynchronous evented framework to run the library in, whereas the REST library depends only on synchronous libraries such as Faraday.
|
39
43
|
|
40
44
|
If you are using Ably within your Rails or Sinatra apps, more often than not, you probably want to use the REST only version of the library that has no dependency on EventMachine and provides a synchronous API that you will be used to using within Rails and Sinatra. [See the REST only Ruby version of the Ably library](https://github.com/ably/ably-ruby-rest).
|
41
45
|
|
@@ -61,7 +65,7 @@ client = Ably::Realtime.new(key: 'xxxxx')
|
|
61
65
|
client = Ably::Realtime.new(token: 'xxxxx')
|
62
66
|
```
|
63
67
|
|
64
|
-
If you do not have an API key, [sign up for a free API key now](https://
|
68
|
+
If you do not have an API key, [sign up for a free API key now](https://ably.com/signup)
|
65
69
|
|
66
70
|
### Connection
|
67
71
|
|
@@ -187,7 +191,7 @@ channel.publish "name (not encrypted)", "sensitive data (encrypted before being
|
|
187
191
|
|
188
192
|
### Introduction
|
189
193
|
|
190
|
-
Unlike the Realtime API, all calls are synchronous and are not run within
|
194
|
+
Unlike the Realtime API, all calls are synchronous and are not run within [EventMachine](https://github.com/eventmachine/eventmachine).
|
191
195
|
|
192
196
|
All examples assume a client and/or channel has been created as follows:
|
193
197
|
|
@@ -285,6 +289,16 @@ stats_page.next # retrieves the next page => #<Ably::Models::PaginatedResult ...
|
|
285
289
|
client.time #=> 2013-12-12 14:23:34 +0000
|
286
290
|
```
|
287
291
|
|
292
|
+
## Ruby 3.0 support
|
293
|
+
|
294
|
+
If you cannot install ably realtime gem because of eventmachine openssl problems, please try to set your `openssl-dir`, i.e.:
|
295
|
+
|
296
|
+
```ruby
|
297
|
+
gem install eventmachine -- --with-openssl-dir=/usr/local/opt/openssl@1.1
|
298
|
+
```
|
299
|
+
|
300
|
+
More about eventmachine and ruby 3.0 support here https://github.com/eventmachine/eventmachine/issues/932
|
301
|
+
|
288
302
|
## Dependencies
|
289
303
|
|
290
304
|
If you only need to use the REST features of this library and do not want EventMachine as a dependency, then you should consider using the [Ably Ruby REST gem](https://rubygems.org/gems/ably-rest).
|
@@ -295,7 +309,7 @@ If you only need to use the REST features of this library and do not want EventM
|
|
295
309
|
|
296
310
|
## Support, feedback and troubleshooting
|
297
311
|
|
298
|
-
Please visit
|
312
|
+
Please visit https://ably.com/support for access to our knowledgebase and to ask for any assistance.
|
299
313
|
|
300
314
|
You can also view the [community reported Github issues](https://github.com/ably/ably-ruby/issues).
|
301
315
|
|