ably-rest 1.2.7 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +8 -5
- data/ably-rest.gemspec +7 -10
- data/lib/submodules/ably-ruby/.github/workflows/check.yml +4 -3
- data/lib/submodules/ably-ruby/CHANGELOG.md +13 -0
- data/lib/submodules/ably-ruby/SPEC.md +10 -10
- data/lib/submodules/ably-ruby/ably.gemspec +3 -2
- data/lib/submodules/ably-ruby/lib/ably/realtime/connection/websocket_transport.rb +1 -1
- data/lib/submodules/ably-ruby/lib/ably/realtime/connection.rb +30 -2
- data/lib/submodules/ably-ruby/lib/ably/version.rb +1 -1
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/client_spec.rb +1 -1
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_failures_spec.rb +7 -7
- data/lib/submodules/ably-ruby/spec/acceptance/rest/base_spec.rb +4 -5
- data/lib/submodules/ably-ruby/spec/acceptance/rest/client_spec.rb +3 -3
- metadata +18 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c34f77f0e3e6c5f4f7e30cc93ae8d1a53e9e217d7f73adb6fb90d3f099a74452
|
4
|
+
data.tar.gz: 4ece3c4eed50aeb3ea1e17095570ff8fc66dba7fd5a7ead9d69aa8b5e58c7afb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ae3b30de33e2cf4b21b84a60c6ce5dcce35b97499fcf8c81abadd6998f8288c0d148a922eadba31ca6204eceff7336741970211036c12505e7490e2327a14a3
|
7
|
+
data.tar.gz: 7e2e7843df13707d766ad9629062c8e6c862e2d7dbcde25c05478f621bd91ac2386e8f0528bf1cf9109bcb9e4d00689800c1d3b4ce6343d46ba14541b027685b
|
data/README.md
CHANGED
@@ -151,6 +151,8 @@ To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANG
|
|
151
151
|
|
152
152
|
Please note that the bulk of this repo is in fact a submodule of the [Ably Ruby REST & Realtime library](https://github.com/ably/ably-ruby). If you want to issue a PR, it is likely you should be looking in that repo to add features or make contributions.
|
153
153
|
|
154
|
+
The dependencies in [`ably-rest.gemspec`](./ably-rest.gemspec) must be manually kept in sync with those in [`lib/submodules/ably-ruby/ably.gemspec`](./lib/submodules/ably-ruby/ably.gemspec).
|
155
|
+
|
154
156
|
1. Fork it
|
155
157
|
2. When pulling to local, make sure to also pull submodules (git submodule init && git submodule update)
|
156
158
|
3. Create your feature branch (`git checkout -b my-new-feature`)
|
@@ -167,11 +169,12 @@ Please note that the bulk of this repo is in fact a submodule of the [Ably Ruby
|
|
167
169
|
4. Ensure submodules of this submodule are up to date using `git submodule update`
|
168
170
|
5. Change dir back to root / `ably-ruby-rest`
|
169
171
|
6. Stage changes made at submodule file `git add lib/submodules/ably-ruby`
|
170
|
-
7.
|
171
|
-
8.
|
172
|
-
9.
|
173
|
-
10.
|
174
|
-
11.
|
172
|
+
7. Bring dependency versions in [`ably-rest.gemspec`](./ably-rest.gemspec) in line with [`lib/submodules/ably-ruby/ably.gemspec`](./lib/submodules/ably-ruby/ably.gemspec)
|
173
|
+
8. Commit the change `git commit -m "Version upgrade to v1.2.3"` and push the changes.
|
174
|
+
9. Make a PR against `main`. Once the PR is approved, merge it into `main`
|
175
|
+
10. Add a tag to the new `main` head commit and push to origin such as `git tag v1.2.3 && git push origin v1.2.3`
|
176
|
+
11. Visit [https://github.com/ably/ably-ruby/tags](https://github.com/ably/ably-ruby/tags) and `Add release notes` for the release including links to the changelog entry.
|
177
|
+
12. Run `rake release` to publish the gem to [Rubygems](https://rubygems.org/gems/ably-rest)
|
175
178
|
|
176
179
|
See the [Ably Ruby release process notes](https://github.com/ably/ably-ruby#release-process).
|
177
180
|
|
data/ably-rest.gemspec
CHANGED
@@ -32,25 +32,22 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
34
|
spec.add_runtime_dependency 'faraday', '~> 2.2'
|
35
|
-
spec.add_runtime_dependency 'excon', '~> 0.55'
|
36
35
|
spec.add_runtime_dependency 'typhoeus', '~> 1.4'
|
37
|
-
spec.add_runtime_dependency 'faraday-typhoeus', '~>
|
36
|
+
spec.add_runtime_dependency 'faraday-typhoeus', '~> 1.1.0'
|
38
37
|
|
39
38
|
spec.add_runtime_dependency 'json'
|
40
|
-
spec.add_runtime_dependency 'msgpack', '>= 1.
|
39
|
+
spec.add_runtime_dependency 'msgpack', '>= 1.3.0'
|
41
40
|
spec.add_runtime_dependency 'addressable', '>= 2.0.0'
|
42
41
|
|
43
42
|
spec.add_development_dependency 'bundler', '>= 1.3.0'
|
44
|
-
spec.add_development_dependency 'rake', '~> 13.0
|
43
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
45
44
|
spec.add_development_dependency 'redcarpet', '~> 3.3'
|
46
|
-
spec.add_development_dependency 'rspec', '~> 3.11'
|
47
|
-
spec.add_development_dependency 'rspec-retry', '~> 0.6
|
45
|
+
spec.add_development_dependency 'rspec', '~> 3.11.0'
|
46
|
+
spec.add_development_dependency 'rspec-retry', '~> 0.6'
|
48
47
|
spec.add_development_dependency 'yard', '~> 0.9'
|
49
|
-
|
50
|
-
spec.add_development_dependency 'webmock', '~> 3.14.0'
|
51
|
-
spec.add_development_dependency 'coveralls'
|
48
|
+
spec.add_development_dependency 'webmock', '~> 3.11'
|
52
49
|
spec.add_development_dependency 'pry', '~> 0.14.1'
|
53
|
-
spec.add_development_dependency 'pry-byebug'
|
50
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.8.0'
|
54
51
|
|
55
52
|
if RUBY_VERSION.match(/^3\./)
|
56
53
|
spec.add_development_dependency 'webrick', '~> 1.7.0'
|
@@ -32,8 +32,9 @@ jobs:
|
|
32
32
|
run: |
|
33
33
|
mkdir junit
|
34
34
|
bundle exec parallel_rspec --prefix-output-with-test-env-number --first-is-1 -- spec/${{ matrix.type }}
|
35
|
-
- uses: actions/upload-artifact@
|
35
|
+
- uses: actions/upload-artifact@v4
|
36
36
|
with:
|
37
|
+
name: test-results-ruby-${{ matrix.ruby }}-${{ matrix.protocol }}-${{ matrix.type }}
|
37
38
|
path: |
|
38
39
|
junit/
|
39
40
|
coverage/
|
@@ -45,7 +46,7 @@ jobs:
|
|
45
46
|
server-url: 'https://test-observability.herokuapp.com'
|
46
47
|
server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }}
|
47
48
|
path: 'junit/'
|
48
|
-
- uses: coverallsapp/github-action@
|
49
|
+
- uses: coverallsapp/github-action@v2
|
49
50
|
with:
|
50
51
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
51
52
|
flag-name: ruby-${{ matrix.ruby }}-${{ matrix.protocol }}-${{ matrix.type }}
|
@@ -55,7 +56,7 @@ jobs:
|
|
55
56
|
runs-on: ubuntu-latest
|
56
57
|
steps:
|
57
58
|
- name: Coveralls Finished
|
58
|
-
uses: coverallsapp/github-action@
|
59
|
+
uses: coverallsapp/github-action@v2
|
59
60
|
with:
|
60
61
|
github-token: ${{ secrets.github_token }}
|
61
62
|
parallel-finished: true
|
@@ -1,5 +1,18 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.2.8](https://github.com/ably/ably-ruby/tree/v1.2.8)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.7...v1.2.8)
|
6
|
+
|
7
|
+
**Fixed bugs:**
|
8
|
+
|
9
|
+
* Fix incompatibility with `websocket-driver` 0.8 (#443)
|
10
|
+
* Do not use fallback hosts as a result of a token error (#443)
|
11
|
+
|
12
|
+
**Updated dependencies:**
|
13
|
+
|
14
|
+
* Bump `faraday-typhoeus` to 1.1.0 (#442)
|
15
|
+
|
3
16
|
## [v1.2.7](https://github.com/ably/ably-ruby/tree/v1.2.7)
|
4
17
|
|
5
18
|
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.6...v1.2.7)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Ably Realtime & REST Client Library 1.2.
|
1
|
+
# Ably Realtime & REST Client Library 1.2.8 Specification
|
2
2
|
|
3
3
|
### Ably::Realtime::Auth
|
4
4
|
_(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_spec.rb))_
|
@@ -646,7 +646,7 @@ _(see [spec/acceptance/realtime/connection_failures_spec.rb](./spec/acceptance/r
|
|
646
646
|
* authentication failure
|
647
647
|
* when API key is invalid
|
648
648
|
* with invalid app part of the key
|
649
|
-
* [enters the failed state and returns
|
649
|
+
* [enters the failed state and returns an invalid credentials error](./spec/acceptance/realtime/connection_failures_spec.rb#L29)
|
650
650
|
* with invalid key name part of the key
|
651
651
|
* [enters the failed state and returns an authorization error](./spec/acceptance/realtime/connection_failures_spec.rb#L44)
|
652
652
|
* with auth_url
|
@@ -2323,16 +2323,16 @@ _(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
|
2323
2323
|
* using JSON protocol
|
2324
2324
|
* failed requests
|
2325
2325
|
* due to invalid Auth
|
2326
|
-
* [should raise an
|
2326
|
+
* [should raise an UnauthorizedRequest exception with a valid error message and code](./spec/acceptance/rest/base_spec.rb#L75)
|
2327
2327
|
* server error with JSON error response body
|
2328
|
-
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#
|
2328
|
+
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#L95)
|
2329
2329
|
* 500 server error without a valid JSON response body
|
2330
|
-
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#
|
2330
|
+
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#L108)
|
2331
2331
|
* token authentication failures
|
2332
2332
|
* when auth#token_renewable?
|
2333
|
-
* [should automatically reissue a token](./spec/acceptance/rest/base_spec.rb#
|
2333
|
+
* [should automatically reissue a token](./spec/acceptance/rest/base_spec.rb#L146)
|
2334
2334
|
* when NOT auth#token_renewable?
|
2335
|
-
* [should raise an TokenExpired exception](./spec/acceptance/rest/base_spec.rb#
|
2335
|
+
* [should raise an TokenExpired exception](./spec/acceptance/rest/base_spec.rb#L161)
|
2336
2336
|
|
2337
2337
|
### Ably::Rest::Channel
|
2338
2338
|
_(see [spec/acceptance/rest/channel_spec.rb](./spec/acceptance/rest/channel_spec.rb))_
|
@@ -3100,7 +3100,7 @@ _(see [spec/acceptance/rest/presence_spec.rb](./spec/acceptance/rest/presence_sp
|
|
3100
3100
|
* default :limit
|
3101
3101
|
* [defaults to a limit of 100](./spec/acceptance/rest/presence_spec.rb#L86)
|
3102
3102
|
* with :client_id option
|
3103
|
-
*
|
3103
|
+
* [returns a list members filtered by the provided client ID](./spec/acceptance/rest/presence_spec.rb#L95)
|
3104
3104
|
* with :connection_id option
|
3105
3105
|
* [returns a list members filtered by the provided connection ID](./spec/acceptance/rest/presence_spec.rb#L106)
|
3106
3106
|
* [returns a list members filtered by the provided connection ID](./spec/acceptance/rest/presence_spec.rb#L110)
|
@@ -5075,6 +5075,6 @@ _(see [spec/unit/util/pub_sub_spec.rb](./spec/unit/util/pub_sub_spec.rb))_
|
|
5075
5075
|
|
5076
5076
|
## Test summary
|
5077
5077
|
|
5078
|
-
* Passing tests:
|
5078
|
+
* Passing tests: 2495
|
5079
5079
|
* Pending tests: 5
|
5080
|
-
* Failing tests:
|
5080
|
+
* Failing tests: 0
|
@@ -22,10 +22,11 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency 'ably-em-http-request', '~> 1.1.8'
|
23
23
|
spec.add_runtime_dependency 'statesman', '~> 9.0'
|
24
24
|
spec.add_runtime_dependency 'faraday', '~> 2.2'
|
25
|
-
spec.add_runtime_dependency 'faraday-typhoeus', '~>
|
25
|
+
spec.add_runtime_dependency 'faraday-typhoeus', '~> 1.1.0'
|
26
26
|
spec.add_runtime_dependency 'typhoeus', '~> 1.4'
|
27
27
|
spec.add_runtime_dependency 'json'
|
28
|
-
|
28
|
+
# We disallow minor version updates, because this gem has introduced breaking API changes in minor releases before (which it's within its rights to do, given it's pre-v1). If you want to allow a new minor version, bump here and run the tests.
|
29
|
+
spec.add_runtime_dependency 'websocket-driver', '~> 0.8.0'
|
29
30
|
spec.add_runtime_dependency 'msgpack', '>= 1.3.0'
|
30
31
|
spec.add_runtime_dependency 'addressable', '>= 2.0.0'
|
31
32
|
|
@@ -257,7 +257,7 @@ module Ably::Realtime
|
|
257
257
|
when :json
|
258
258
|
JSON.parse(data)
|
259
259
|
when :msgpack
|
260
|
-
MessagePack.unpack(data
|
260
|
+
MessagePack.unpack(data)
|
261
261
|
else
|
262
262
|
client.logger.fatal { "WebsocketTransport: Unsupported Protocol Message format #{client.protocol}" }
|
263
263
|
data
|
@@ -690,16 +690,44 @@ module Ably
|
|
690
690
|
end
|
691
691
|
|
692
692
|
def use_fallback_if_disconnected?
|
693
|
-
second_reconnect_attempt_for(:disconnected, 1)
|
693
|
+
unless second_reconnect_attempt_for(:disconnected, 1)
|
694
|
+
return false
|
695
|
+
end
|
696
|
+
|
697
|
+
does_error_necessitate_fallback(reason_for_last_time_in(:disconnected))
|
694
698
|
end
|
695
699
|
|
696
700
|
def use_fallback_if_suspended?
|
697
|
-
second_reconnect_attempt_for(:suspended, 2) # on first suspended state use default Ably host again
|
701
|
+
unless second_reconnect_attempt_for(:suspended, 2) # on first suspended state use default Ably host again
|
702
|
+
return false
|
703
|
+
end
|
704
|
+
|
705
|
+
does_error_necessitate_fallback(reason_for_last_time_in(:suspended))
|
698
706
|
end
|
699
707
|
|
700
708
|
def second_reconnect_attempt_for(state, first_attempt_count)
|
701
709
|
previous_state == state && manager.retry_count_for_state(state) >= first_attempt_count
|
702
710
|
end
|
711
|
+
|
712
|
+
# Provides a partial implementation of RTN17f's logic for whether an error necessitates a fallback host.
|
713
|
+
def does_error_necessitate_fallback(error)
|
714
|
+
return false unless error
|
715
|
+
|
716
|
+
# For now we just explicitly exclude token errors. TODO: implement properly in https://github.com/ably/ably-ruby/issues/444
|
717
|
+
|
718
|
+
if error.respond_to?(:status_code) && error.status_code == 401 && error.respond_to?(:code) && Ably::Exceptions::TOKEN_EXPIRED_CODE.include?(error.code)
|
719
|
+
return false
|
720
|
+
end
|
721
|
+
|
722
|
+
true
|
723
|
+
end
|
724
|
+
|
725
|
+
# Returns the error associated with the last state change to the given state (e.g. :disconnected).
|
726
|
+
def reason_for_last_time_in(state)
|
727
|
+
history_item = state_history.reverse.find do |history_item|
|
728
|
+
history_item.fetch(:state) == state
|
729
|
+
end.fetch(:metadata).reason
|
730
|
+
end
|
703
731
|
end
|
704
732
|
end
|
705
733
|
end
|
@@ -34,7 +34,7 @@ describe Ably::Realtime::Client, :event_machine do
|
|
34
34
|
client.connection.once(:failed) do
|
35
35
|
expect(custom_logger_object.logs.find do |severity, message|
|
36
36
|
next unless %w(fatal error).include?(severity.to_s)
|
37
|
-
message.match(%r{https://help.ably.io/error/
|
37
|
+
message.match(%r{https://help.ably.io/error/40101})
|
38
38
|
end).to_not be_nil
|
39
39
|
stop_reactor
|
40
40
|
end
|
@@ -26,13 +26,13 @@ describe Ably::Realtime::Connection, 'failures', :event_machine do
|
|
26
26
|
context 'with invalid app part of the key' do
|
27
27
|
let(:invalid_key) { 'not_an_app.invalid_key_name:invalid_key_value' }
|
28
28
|
|
29
|
-
it 'enters the failed state and returns
|
29
|
+
it 'enters the failed state and returns an invalid credentials error' do
|
30
30
|
connection.on(:failed) do |connection_state_change|
|
31
31
|
error = connection_state_change.reason
|
32
32
|
expect(connection.state).to eq(:failed)
|
33
33
|
# TODO: Check error type is an InvalidToken exception
|
34
|
-
expect(error.status).to eq(
|
35
|
-
expect(error.code).to eq(
|
34
|
+
expect(error.status).to eq(401)
|
35
|
+
expect(error.code).to eq(40101) # invalid credentials
|
36
36
|
stop_reactor
|
37
37
|
end
|
38
38
|
end
|
@@ -46,7 +46,7 @@ describe Ably::Realtime::Connection, 'failures', :event_machine do
|
|
46
46
|
error = connection_state_change.reason
|
47
47
|
expect(connection.state).to eq(:failed)
|
48
48
|
# TODO: Check error type is a TokenNotFound exception
|
49
|
-
expect(error.status).to eq(
|
49
|
+
expect(error.status).to eq(404)
|
50
50
|
expect(error.code).to eq(40400) # not found
|
51
51
|
stop_reactor
|
52
52
|
end
|
@@ -1396,10 +1396,10 @@ describe Ably::Realtime::Connection, 'failures', :event_machine do
|
|
1396
1396
|
channel = client.channels.get("foo")
|
1397
1397
|
channel.attach do
|
1398
1398
|
connection.once(:failed) do |state_change|
|
1399
|
-
expect(state_change.reason.code).to eql(
|
1400
|
-
expect(connection.error_reason.code).to eql(
|
1399
|
+
expect(state_change.reason.code).to eql(40101)
|
1400
|
+
expect(connection.error_reason.code).to eql(40101)
|
1401
1401
|
expect(channel).to be_failed
|
1402
|
-
expect(channel.error_reason.code).to eql(
|
1402
|
+
expect(channel.error_reason.code).to eql(40101)
|
1403
1403
|
stop_reactor
|
1404
1404
|
end
|
1405
1405
|
|
@@ -72,13 +72,12 @@ describe Ably::Rest do
|
|
72
72
|
|
73
73
|
describe 'failed requests' do
|
74
74
|
context 'due to invalid Auth' do
|
75
|
-
it 'should raise an
|
75
|
+
it 'should raise an UnauthorizedRequest exception with a valid error message and code' do
|
76
76
|
invalid_client = Ably::Rest::Client.new(key: 'appid.keyuid:keysecret', environment: environment)
|
77
77
|
expect { invalid_client.channel('test').publish('foo', 'choo') }.to raise_error do |error|
|
78
|
-
expect(error).to be_a(Ably::Exceptions::
|
79
|
-
expect(error.
|
80
|
-
expect(error.
|
81
|
-
expect(error.status).to eql(404)
|
78
|
+
expect(error).to be_a(Ably::Exceptions::UnauthorizedRequest)
|
79
|
+
expect(error.code).to eql(40101)
|
80
|
+
expect(error.status).to eql(401)
|
82
81
|
end
|
83
82
|
end
|
84
83
|
end
|
@@ -33,9 +33,9 @@ describe Ably::Rest::Client do
|
|
33
33
|
it 'logs an entry with a help href url matching the code #TI5' do
|
34
34
|
begin
|
35
35
|
client.channels.get('foo').publish('test')
|
36
|
-
raise 'Expected Ably::Exceptions::
|
37
|
-
rescue Ably::Exceptions::
|
38
|
-
expect err.to_s.match(%r{https://help.ably.io/error/
|
36
|
+
raise 'Expected Ably::Exceptions::UnauthorizedRequest'
|
37
|
+
rescue Ably::Exceptions::UnauthorizedRequest => err
|
38
|
+
expect err.to_s.match(%r{https://help.ably.io/error/40101})
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ably-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew O'Riordan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.2'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: excon
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.55'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.55'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: typhoeus
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +44,14 @@ dependencies:
|
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
47
|
+
version: 1.1.0
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
54
|
+
version: 1.1.0
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: json
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,20 +72,14 @@ dependencies:
|
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
90
|
-
- - "<"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '2.0'
|
75
|
+
version: 1.3.0
|
93
76
|
type: :runtime
|
94
77
|
prerelease: false
|
95
78
|
version_requirements: !ruby/object:Gem::Requirement
|
96
79
|
requirements:
|
97
80
|
- - ">="
|
98
81
|
- !ruby/object:Gem::Version
|
99
|
-
version: 1.
|
100
|
-
- - "<"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '2.0'
|
82
|
+
version: 1.3.0
|
103
83
|
- !ruby/object:Gem::Dependency
|
104
84
|
name: addressable
|
105
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,14 +114,14 @@ dependencies:
|
|
134
114
|
requirements:
|
135
115
|
- - "~>"
|
136
116
|
- !ruby/object:Gem::Version
|
137
|
-
version: 13.0
|
117
|
+
version: '13.0'
|
138
118
|
type: :development
|
139
119
|
prerelease: false
|
140
120
|
version_requirements: !ruby/object:Gem::Requirement
|
141
121
|
requirements:
|
142
122
|
- - "~>"
|
143
123
|
- !ruby/object:Gem::Version
|
144
|
-
version: 13.0
|
124
|
+
version: '13.0'
|
145
125
|
- !ruby/object:Gem::Dependency
|
146
126
|
name: redcarpet
|
147
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,28 +142,28 @@ dependencies:
|
|
162
142
|
requirements:
|
163
143
|
- - "~>"
|
164
144
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
145
|
+
version: 3.11.0
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
149
|
requirements:
|
170
150
|
- - "~>"
|
171
151
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
152
|
+
version: 3.11.0
|
173
153
|
- !ruby/object:Gem::Dependency
|
174
154
|
name: rspec-retry
|
175
155
|
requirement: !ruby/object:Gem::Requirement
|
176
156
|
requirements:
|
177
157
|
- - "~>"
|
178
158
|
- !ruby/object:Gem::Version
|
179
|
-
version: 0.6
|
159
|
+
version: '0.6'
|
180
160
|
type: :development
|
181
161
|
prerelease: false
|
182
162
|
version_requirements: !ruby/object:Gem::Requirement
|
183
163
|
requirements:
|
184
164
|
- - "~>"
|
185
165
|
- !ruby/object:Gem::Version
|
186
|
-
version: 0.6
|
166
|
+
version: '0.6'
|
187
167
|
- !ruby/object:Gem::Dependency
|
188
168
|
name: yard
|
189
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,28 +184,14 @@ dependencies:
|
|
204
184
|
requirements:
|
205
185
|
- - "~>"
|
206
186
|
- !ruby/object:Gem::Version
|
207
|
-
version: 3.
|
187
|
+
version: '3.11'
|
208
188
|
type: :development
|
209
189
|
prerelease: false
|
210
190
|
version_requirements: !ruby/object:Gem::Requirement
|
211
191
|
requirements:
|
212
192
|
- - "~>"
|
213
193
|
- !ruby/object:Gem::Version
|
214
|
-
version: 3.
|
215
|
-
- !ruby/object:Gem::Dependency
|
216
|
-
name: coveralls
|
217
|
-
requirement: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - ">="
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '0'
|
222
|
-
type: :development
|
223
|
-
prerelease: false
|
224
|
-
version_requirements: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - ">="
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '0'
|
194
|
+
version: '3.11'
|
229
195
|
- !ruby/object:Gem::Dependency
|
230
196
|
name: pry
|
231
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,16 +210,16 @@ dependencies:
|
|
244
210
|
name: pry-byebug
|
245
211
|
requirement: !ruby/object:Gem::Requirement
|
246
212
|
requirements:
|
247
|
-
- - "
|
213
|
+
- - "~>"
|
248
214
|
- !ruby/object:Gem::Version
|
249
|
-
version:
|
215
|
+
version: 3.8.0
|
250
216
|
type: :development
|
251
217
|
prerelease: false
|
252
218
|
version_requirements: !ruby/object:Gem::Requirement
|
253
219
|
requirements:
|
254
|
-
- - "
|
220
|
+
- - "~>"
|
255
221
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
222
|
+
version: 3.8.0
|
257
223
|
- !ruby/object:Gem::Dependency
|
258
224
|
name: webrick
|
259
225
|
requirement: !ruby/object:Gem::Requirement
|