ably-rest 1.2.1 → 1.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 181bc1ea329e633dc8c1f535c22daa181ff85ba881003904e3f2c577eba2949f
4
- data.tar.gz: 3def2802abfda59fed8c56e3e37474ba998876ad26d2d6a328d2cd901283b410
3
+ metadata.gz: 47921b2d2dd22a48024cbd984f6e469ac9b17d8c12bf175c83e7efb9e9c7f6a7
4
+ data.tar.gz: b0059ac593762b581f1bafb6cf6078a771efefdf0030e4fe7e188cb34db0e175
5
5
  SHA512:
6
- metadata.gz: 51548295cfa55408a15fd87e2b0cc7b769e7eef473a344dde8637f5780ea8d6071a12a555ac5fc8a459beecc0fc5240e3319bd3b487e6df3ee076901d7943cef
7
- data.tar.gz: 19191a7380d405248e4da807d152769c3f3bcd6e4e6a2f7c9ef4d2843631295e00e917938b47c4a0e35bb8b190807695ea6d04cc0fb051ada87430312daa2799
6
+ metadata.gz: 37ff9f69ddc711ee793ecb18fd57b0e75ede1f8df72d7015949824cda28522f0926318a6b71b1c7aaca31720dbfd9b172ea8ad542be46080d4adf3bcbe2e4285
7
+ data.tar.gz: e3f1ab29667419b0958550f72785bfadbf5565bf779dc88b113ddb9db7e526dc33241d4dc6434ce2d15c09e0ee18c87cf6a62a9d0c9770303f0c643032316f7f
data/ably-rest.gemspec CHANGED
@@ -31,33 +31,28 @@ Gem::Specification.new do |spec|
31
31
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
32
32
  spec.require_paths = ['lib']
33
33
 
34
- spec.add_runtime_dependency 'faraday', '~> 1.0'
34
+ spec.add_runtime_dependency 'faraday', '~> 2.2'
35
35
  spec.add_runtime_dependency 'excon', '~> 0.55'
36
36
  spec.add_runtime_dependency 'typhoeus', '~> 1.4'
37
+ spec.add_runtime_dependency 'faraday-typhoeus', '~> 0.2.0'
37
38
 
38
- if RUBY_VERSION.match(/^1/)
39
- spec.add_runtime_dependency 'json', '< 2.0'
40
- else
41
- spec.add_runtime_dependency 'json'
42
- end
43
- spec.add_runtime_dependency 'msgpack', '>= 0.6.2'
39
+ spec.add_runtime_dependency 'json'
40
+ spec.add_runtime_dependency 'msgpack', '=1.5.2'
44
41
  spec.add_runtime_dependency 'addressable', '>= 2.0.0'
45
42
 
46
43
  spec.add_development_dependency 'bundler', '>= 1.3.0'
47
- spec.add_development_dependency 'rake', '~> 11.3'
44
+ spec.add_development_dependency 'rake', '~> 13.0.6'
48
45
  spec.add_development_dependency 'redcarpet', '~> 3.3'
49
- spec.add_development_dependency 'rspec', '~> 3.2.0'
50
- spec.add_development_dependency 'rspec-retry', '~> 0.4'
51
- spec.add_development_dependency 'webrick'
46
+ spec.add_development_dependency 'rspec', '~> 3.11'
47
+ spec.add_development_dependency 'rspec-retry', '~> 0.6.2'
52
48
  spec.add_development_dependency 'yard', '~> 0.9'
53
49
 
54
- if RUBY_VERSION.match(/^1/)
55
- spec.add_development_dependency 'public_suffix', '~> 1.4.6' # Later versions do not support Ruby 1.9
56
- spec.add_development_dependency 'webmock', '2.2'
57
- else
58
- spec.add_development_dependency 'webmock', '~> 2.2'
59
- spec.add_development_dependency 'coveralls'
60
- spec.add_development_dependency 'pry'
61
- spec.add_development_dependency 'pry-byebug'
50
+ spec.add_development_dependency 'webmock', '~> 3.14.0'
51
+ spec.add_development_dependency 'coveralls'
52
+ spec.add_development_dependency 'pry', '~> 0.14.1'
53
+ spec.add_development_dependency 'pry-byebug'
54
+
55
+ if RUBY_VERSION.match(/^3\./)
56
+ spec.add_development_dependency 'webrick', '~> 1.7.0'
62
57
  end
63
58
  end
@@ -12,6 +12,7 @@ jobs:
12
12
  matrix:
13
13
  ruby: [ '2.7', '3.0', '3.1' ]
14
14
  protocol: [ 'json', 'msgpack' ]
15
+ type: [ 'unit', 'acceptance' ]
15
16
  steps:
16
17
  - uses: actions/checkout@v2
17
18
  with:
@@ -20,15 +21,23 @@ jobs:
20
21
  with:
21
22
  ruby-version: ${{ matrix.ruby }}
22
23
  bundler-cache: true
23
- - env:
24
- RSPEC_RETRY: true
24
+ - name: 'Run ${{ matrix.type }} tests on ruby ${{ matrix.ruby }} (${{ matrix.protocol }} protocol)'
25
+ env:
25
26
  PARALLEL_TEST_PROCESSORS: 2
27
+ RSPEC_RETRY: true
26
28
  PROTOCOL: ${{ matrix.protocol }}
27
- run: ./spec/run_parallel_tests
29
+ run: bundle exec parallel_rspec --prefix-output-with-test-env-number -- --format documentation --format RspecJunitFormatter --out ${{ matrix.protocol }}-${{ matrix.type }}-ruby-${{ matrix.ruby }}.junit -- spec/${{ matrix.type }}
30
+ - name: Upload test results
31
+ if: always()
32
+ uses: ably-labs/test-observability-action@main
33
+ with:
34
+ server-url: 'https://test-observability.herokuapp.com'
35
+ server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }}
36
+ path: '.'
28
37
  - uses: coverallsapp/github-action@1.1.3
29
38
  with:
30
39
  github-token: ${{ secrets.GITHUB_TOKEN }}
31
- flag-name: run-ruby_${{ matrix.ruby }}-${{ matrix.protocol }}_protocol
40
+ flag-name: ruby-${{ matrix.ruby }}-${{ matrix.protocol }}-${{ matrix.type }}
32
41
  parallel: true
33
42
  finish:
34
43
  needs: check
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.2.2](https://github.com/ably/ably-ruby/tree/v1.2.2)
4
+
5
+ [Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.1...v1.2.2)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Add support to get channel lifecycle status [\#362](https://github.com/ably/ably-ruby/issues/362)
10
+
3
11
  ## [v1.2.1](https://github.com/ably/ably-ruby/tree/v1.2.1)
4
12
 
5
13
  [Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.0...v1.2.1)
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency 'rake', '~> 13.0'
33
33
  spec.add_development_dependency 'redcarpet', '~> 3.3'
34
34
  spec.add_development_dependency 'rspec', '~> 3.11.0'
35
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.5.1'
35
36
  spec.add_development_dependency 'rspec-retry', '~> 0.6'
36
37
  spec.add_development_dependency 'yard', '~> 0.9'
37
38
  spec.add_development_dependency 'rspec-instafail', '~> 1.0'
@@ -0,0 +1,59 @@
1
+ module Ably::Models
2
+ # Convert token details argument to a {ChannelDetails} object
3
+ #
4
+ # @param attributes (see #initialize)
5
+ #
6
+ # @return [ChannelDetails]
7
+ def self.ChannelDetails(attributes)
8
+ case attributes
9
+ when ChannelDetails
10
+ return attributes
11
+ else
12
+ ChannelDetails.new(attributes)
13
+ end
14
+ end
15
+
16
+ # ChannelDetails is a type that represents information for a channel including channelId, name, status and occupancy (CHD1)
17
+ #
18
+ class ChannelDetails
19
+ extend Ably::Modules::Enum
20
+ extend Forwardable
21
+ include Ably::Modules::ModelCommon
22
+
23
+ # The attributes of ChannelDetails (CHD2)
24
+ #
25
+ attr_reader :attributes
26
+
27
+ alias_method :to_h, :attributes
28
+
29
+ # Initialize a new ChannelDetails
30
+ #
31
+ def initialize(attrs)
32
+ @attributes = IdiomaticRubyWrapper(attrs.clone)
33
+ end
34
+
35
+ # The identifier of the channel (CHD2a)
36
+ #
37
+ # @return [String]
38
+ #
39
+ def channel_id
40
+ attributes[:channel_id]
41
+ end
42
+
43
+ # The identifier of the channel (CHD2a)
44
+ #
45
+ # @return [String]
46
+ #
47
+ def name
48
+ attributes[:name]
49
+ end
50
+
51
+ # The status of the channel (CHD2b)
52
+ #
53
+ # @return [Ably::Models::ChannelStatus, nil]
54
+ #
55
+ def status
56
+ Ably::Models::ChannelStatus(attributes[:status])
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,84 @@
1
+ module Ably::Models
2
+ # Convert token details argument to a {ChannelMetrics} object
3
+ #
4
+ # @param attributes (see #initialize)
5
+ #
6
+ # @return [ChannelMetrics]
7
+ def self.ChannelMetrics(attributes)
8
+ case attributes
9
+ when ChannelMetrics
10
+ return attributes
11
+ else
12
+ ChannelMetrics.new(attributes)
13
+ end
14
+ end
15
+
16
+ # ChannelMetrics is a type that contains the count of publishers and subscribers, connections and presenceConnections,
17
+ # presenceMembers and presenceSubscribers (CHM1)
18
+ #
19
+ class ChannelMetrics
20
+ extend Ably::Modules::Enum
21
+ extend Forwardable
22
+ include Ably::Modules::ModelCommon
23
+
24
+ # The attributes of ChannelMetrics (CHM2)
25
+ #
26
+ attr_reader :attributes
27
+
28
+ alias_method :to_h, :attributes
29
+
30
+ # Initialize a new ChannelMetrics
31
+ #
32
+ def initialize(attrs)
33
+ @attributes = IdiomaticRubyWrapper(attrs.clone)
34
+ end
35
+
36
+ # The total number of connections to the channel (CHM2a)
37
+ #
38
+ # @return [Integer]
39
+ #
40
+ def connections
41
+ attributes[:connections]
42
+ end
43
+
44
+ # The total number of presence connections to the channel (CHM2b)
45
+ #
46
+ # @return [Integer]
47
+ #
48
+ def presence_connections
49
+ attributes[:presence_connections]
50
+ end
51
+
52
+ # The total number of presence members for the channel (CHM2c)
53
+ #
54
+ # @return [Integer]
55
+ #
56
+ def presence_members
57
+ attributes[:presence_members]
58
+ end
59
+
60
+ # The total number of presence subscribers for the channel (CHM2d)
61
+ #
62
+ # @return [Integer]
63
+ #
64
+ def presence_subscribers
65
+ attributes[:presence_subscribers]
66
+ end
67
+
68
+ # The total number of publishers to the channel (CHM2e)
69
+ #
70
+ # @return [Integer]
71
+ #
72
+ def publishers
73
+ attributes[:publishers]
74
+ end
75
+
76
+ # The total number of subscribers to the channel (CHM2f)
77
+ #
78
+ # @return [Integer]
79
+ #
80
+ def subscribers
81
+ attributes[:subscribers]
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,43 @@
1
+ module Ably::Models
2
+ # Convert token details argument to a {ChannelOccupancy} object
3
+ #
4
+ # @param attributes (see #initialize)
5
+ #
6
+ # @return [ChannelOccupancy]
7
+ def self.ChannelOccupancy(attributes)
8
+ case attributes
9
+ when ChannelOccupancy
10
+ return attributes
11
+ else
12
+ ChannelOccupancy.new(attributes)
13
+ end
14
+ end
15
+
16
+ # Type that contain channel metrics (CHO1)
17
+ #
18
+ class ChannelOccupancy
19
+ extend Ably::Modules::Enum
20
+ extend Forwardable
21
+ include Ably::Modules::ModelCommon
22
+
23
+ # The attributes of ChannelOccupancy (CH02)
24
+ #
25
+ attr_reader :attributes
26
+
27
+ alias_method :to_h, :attributes
28
+
29
+ # Initialize a new ChannelOccupancy
30
+ #
31
+ def initialize(attrs)
32
+ @attributes = IdiomaticRubyWrapper(attrs.clone)
33
+ end
34
+
35
+ # Metrics object (CHO2a)
36
+ #
37
+ # @return [Ably::Models::ChannelMetrics, nil]
38
+ #
39
+ def metrics
40
+ Ably::Models::ChannelMetrics(attributes[:metrics])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,53 @@
1
+ module Ably::Models
2
+ # Convert token details argument to a {ChannelStatus} object
3
+ #
4
+ # @param attributes (see #initialize)
5
+ #
6
+ # @return [ChannelStatus]
7
+ def self.ChannelStatus(attributes)
8
+ case attributes
9
+ when ChannelStatus
10
+ return attributes
11
+ else
12
+ ChannelStatus.new(attributes)
13
+ end
14
+ end
15
+
16
+ # ChannelStatus is a type that contains status and occupancy for a channel (CHS1)
17
+ #
18
+ class ChannelStatus
19
+ extend Ably::Modules::Enum
20
+ extend Forwardable
21
+ include Ably::Modules::ModelCommon
22
+
23
+ # The attributes of ChannelStatus (CHS2)
24
+ #
25
+ attr_reader :attributes
26
+
27
+ alias_method :to_h, :attributes
28
+
29
+ # Initialize a new ChannelStatus
30
+ #
31
+ def initialize(attrs)
32
+ @attributes = IdiomaticRubyWrapper(attrs.clone)
33
+ end
34
+
35
+ # Represents if the channel is active (CHS2a)
36
+ #
37
+ # @return [Boolean]
38
+ #
39
+ def is_active
40
+ attributes[:isActive]
41
+ end
42
+ alias_method :active?, :is_active
43
+ alias_method :is_active?, :is_active
44
+
45
+ # Occupancy ChannelOccupancy – occupancy is an object containing the metrics for the channel (CHS2b)
46
+ #
47
+ # @return [Ably::Models::ChannelOccupancy, nil]
48
+ #
49
+ def occupancy
50
+ Ably::Models::ChannelOccupancy(attributes[:occupancy])
51
+ end
52
+ end
53
+ end
@@ -161,6 +161,13 @@ module Ably
161
161
  end
162
162
  alias options= set_options
163
163
 
164
+ # Makes GET request for channel details (#RSL8, #RSL8a)
165
+ #
166
+ # @return [Ably::Models::ChannelDetails]
167
+ def status
168
+ Ably::Models::ChannelDetails.new(client.get(base_path).body)
169
+ end
170
+
164
171
  private
165
172
 
166
173
  def base_path
@@ -1,5 +1,5 @@
1
1
  module Ably
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  PROTOCOL_VERSION = '1.2'
4
4
 
5
5
  # @api private
@@ -595,5 +595,23 @@ describe Ably::Rest::Channel do
595
595
  expect(channel.presence).to be_a(Ably::Rest::Presence)
596
596
  end
597
597
  end
598
+
599
+ context '#status' do
600
+ let(:channel_name) { "persisted:#{random_str(4)}" }
601
+ let(:channel) { client.channel(channel_name) }
602
+ let(:channel_details) { channel.status }
603
+
604
+ it 'should return channel details status (#RSL8, #RSL8a)' do
605
+ expect(channel_details.channel_id).to eq(channel_name)
606
+ expect(channel_details.name).to eq(channel_name)
607
+ expect(channel_details.status).to be_a(Ably::Models::ChannelStatus)
608
+ expect(channel_details.status.is_active).to eq(true)
609
+ expect(channel_details.status.occupancy.metrics.publishers).to eq(0)
610
+ expect(channel_details.status.occupancy.metrics.subscribers).to eq(0)
611
+ expect(channel_details.status.occupancy.metrics.presence_connections).to eq(0)
612
+ expect(channel_details.status.occupancy.metrics.presence_members).to eq(0)
613
+ expect(channel_details.status.occupancy.metrics.presence_subscribers).to eq(0)
614
+ end
615
+ end
598
616
  end
599
617
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+ require 'shared/model_behaviour'
3
+
4
+ describe Ably::Models::ChannelDetails do
5
+ subject { Ably::Models::ChannelDetails(channel_id: 'channel-id-123-xyz', name: 'name', status: { isActive: 'true', occupancy: { metrics: { connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9 } } }) }
6
+
7
+ describe '#channel_id' do
8
+ it 'should return channel id' do
9
+ expect(subject.channel_id).to eq('channel-id-123-xyz')
10
+ end
11
+ end
12
+
13
+ describe '#name' do
14
+ it 'should return name' do
15
+ expect(subject.name).to eq('name')
16
+ end
17
+ end
18
+
19
+ describe '#status' do
20
+ it 'should return status' do
21
+ expect(subject.status).to be_a(Ably::Models::ChannelStatus)
22
+ expect(subject.status.occupancy.metrics.connections).to eq(1)
23
+ expect(subject.status.occupancy.metrics.presence_connections).to eq(2)
24
+ expect(subject.status.occupancy.metrics.presence_members).to eq(2)
25
+ expect(subject.status.occupancy.metrics.presence_subscribers).to eq(5)
26
+ expect(subject.status.occupancy.metrics.publishers).to eq(7)
27
+ expect(subject.status.occupancy.metrics.subscribers).to eq(9)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+ require 'shared/model_behaviour'
3
+
4
+ describe Ably::Models::ChannelMetrics do
5
+ subject { Ably::Models::ChannelMetrics(connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9) }
6
+
7
+ describe '#connections' do
8
+ it 'should return integer' do
9
+ expect(subject.connections).to eq(1)
10
+ end
11
+ end
12
+
13
+ describe '#presence_connections' do
14
+ it 'should return integer' do
15
+ expect(subject.presence_connections).to eq(2)
16
+ end
17
+ end
18
+
19
+ describe '#presence_members' do
20
+ it 'should return integer' do
21
+ expect(subject.presence_members).to eq(2)
22
+ end
23
+ end
24
+
25
+ describe '#presence_subscribers' do
26
+ it 'should return integer' do
27
+ expect(subject.presence_subscribers).to eq(5)
28
+ end
29
+ end
30
+
31
+ describe '#publishers' do
32
+ it 'should return integer' do
33
+ expect(subject.publishers).to eq(7)
34
+ end
35
+ end
36
+
37
+ describe '#subscribers' do
38
+ it 'should return integer' do
39
+ expect(subject.subscribers).to eq(9)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ require 'shared/model_behaviour'
3
+
4
+ describe Ably::Models::ChannelOccupancy do
5
+ subject { Ably::Models::ChannelOccupancy({ metrics: { connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9 } }) }
6
+
7
+ describe '#metrics' do
8
+ it 'should return attributes' do
9
+ expect(subject.metrics.connections).to eq(1)
10
+ expect(subject.metrics.presence_connections).to eq(2)
11
+ expect(subject.metrics.presence_members).to eq(2)
12
+ expect(subject.metrics.presence_subscribers).to eq(5)
13
+ expect(subject.metrics.publishers).to eq(7)
14
+ expect(subject.metrics.subscribers).to eq(9)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+ require 'shared/model_behaviour'
3
+
4
+ describe Ably::Models::ChannelStatus do
5
+ subject { Ably::Models::ChannelStatus({ isActive: 'true', occupancy: { metrics: { connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9 } } }) }
6
+
7
+ describe '#is_active' do
8
+ context 'when occupancy is active' do
9
+ subject { Ably::Models::ChannelStatus({ isActive: true, occupancy: { metrics: { connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9 } } }) }
10
+
11
+ it 'should return true' do
12
+ expect(subject.is_active).to eq(true)
13
+ end
14
+ end
15
+
16
+ context 'when occupancy is not active' do
17
+ subject { Ably::Models::ChannelStatus({ isActive: false, occupancy: { metrics: { connections: 1, presence_connections: 2, presence_members: 2, presence_subscribers: 5, publishers: 7, subscribers: 9 } } }) }
18
+
19
+ it 'should return false' do
20
+ expect(subject.is_active).to eq(false)
21
+ end
22
+ end
23
+ end
24
+
25
+ describe '#occupancy' do
26
+ it 'should return occupancy object' do
27
+ expect(subject.occupancy).to be_a(Ably::Models::ChannelOccupancy)
28
+ expect(subject.occupancy.metrics.connections).to eq(1)
29
+ expect(subject.occupancy.metrics.presence_connections).to eq(2)
30
+ expect(subject.occupancy.metrics.presence_members).to eq(2)
31
+ expect(subject.occupancy.metrics.presence_subscribers).to eq(5)
32
+ expect(subject.occupancy.metrics.publishers).to eq(7)
33
+ expect(subject.occupancy.metrics.subscribers).to eq(9)
34
+ end
35
+ end
36
+ 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.1
4
+ version: 1.2.2
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: 2022-05-19 00:00:00.000000000 Z
11
+ date: 2022-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: excon
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday-typhoeus
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: json
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +84,16 @@ dependencies:
70
84
  name: msgpack
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - '='
74
88
  - !ruby/object:Gem::Version
75
- version: 0.6.2
89
+ version: 1.5.2
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ">="
94
+ - - '='
81
95
  - !ruby/object:Gem::Version
82
- version: 0.6.2
96
+ version: 1.5.2
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: addressable
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +128,14 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '11.3'
131
+ version: 13.0.6
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '11.3'
138
+ version: 13.0.6
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: redcarpet
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -142,42 +156,28 @@ dependencies:
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 3.2.0
159
+ version: '3.11'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 3.2.0
166
+ version: '3.11'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rspec-retry
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '0.4'
173
+ version: 0.6.2
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '0.4'
167
- - !ruby/object:Gem::Dependency
168
- name: webrick
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 0.6.2
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: yard
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '2.2'
201
+ version: 3.14.0
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '2.2'
208
+ version: 3.14.0
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: coveralls
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -224,16 +224,16 @@ dependencies:
224
224
  name: pry
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - ">="
227
+ - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: '0'
229
+ version: 0.14.1
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - ">="
234
+ - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: '0'
236
+ version: 0.14.1
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: pry-byebug
239
239
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +248,20 @@ dependencies:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: webrick
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: 1.7.0
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: 1.7.0
251
265
  description: A Ruby REST only client library for ably.io realtime messaging
252
266
  email:
253
267
  - matt@ably.io
@@ -291,8 +305,12 @@ files:
291
305
  - lib/submodules/ably-ruby/lib/ably/exceptions.rb
292
306
  - lib/submodules/ably-ruby/lib/ably/logger.rb
293
307
  - lib/submodules/ably-ruby/lib/ably/models/auth_details.rb
308
+ - lib/submodules/ably-ruby/lib/ably/models/channel_details.rb
309
+ - lib/submodules/ably-ruby/lib/ably/models/channel_metrics.rb
310
+ - lib/submodules/ably-ruby/lib/ably/models/channel_occupancy.rb
294
311
  - lib/submodules/ably-ruby/lib/ably/models/channel_options.rb
295
312
  - lib/submodules/ably-ruby/lib/ably/models/channel_state_change.rb
313
+ - lib/submodules/ably-ruby/lib/ably/models/channel_status.rb
296
314
  - lib/submodules/ably-ruby/lib/ably/models/cipher_params.rb
297
315
  - lib/submodules/ably-ruby/lib/ably/models/connection_details.rb
298
316
  - lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb
@@ -431,7 +449,11 @@ files:
431
449
  - lib/submodules/ably-ruby/spec/unit/auth_spec.rb
432
450
  - lib/submodules/ably-ruby/spec/unit/logger_spec.rb
433
451
  - lib/submodules/ably-ruby/spec/unit/models/auth_details_spec.rb
452
+ - lib/submodules/ably-ruby/spec/unit/models/channel_details_spec.rb
453
+ - lib/submodules/ably-ruby/spec/unit/models/channel_metrics_spec.rb
454
+ - lib/submodules/ably-ruby/spec/unit/models/channel_occupancy_spec.rb
434
455
  - lib/submodules/ably-ruby/spec/unit/models/channel_state_change_spec.rb
456
+ - lib/submodules/ably-ruby/spec/unit/models/channel_status_spec.rb
435
457
  - lib/submodules/ably-ruby/spec/unit/models/cipher_params_spec.rb
436
458
  - lib/submodules/ably-ruby/spec/unit/models/connection_details_spec.rb
437
459
  - lib/submodules/ably-ruby/spec/unit/models/connection_state_change_spec.rb