dota2_api27n 1.0.4 → 1.0.5

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: dadf981f32edf50885d12c2d92eec881fc84df2b5740eb5b49340475aa23df49
4
- data.tar.gz: d82fecc607cccf5cefc6980c109ca19864a441d04dbcb47c5985318bef563e36
3
+ metadata.gz: b1365fd58c09a6b22e7dc2831117e8890d036a80531946ea2e1c0fa1e430e089
4
+ data.tar.gz: f27c9e527734a4e10f3b2c29ad9e822290a68f5aeef29a0590ab75e8551bd42d
5
5
  SHA512:
6
- metadata.gz: 17ccdd7c1851ff73dc947333b1829279939ce72e6746721dc407fd7efc8504918c7d7e8fa81ecaf8172a13618951be7b7169e3840d601fb517d9e5968fd43d35
7
- data.tar.gz: 8cba149efad0e55bf9fbb63bafb0c2679d1806656cdc9c48cc808aa4f75cb7da7b240b9bfd1e0993d7c914b715ae000bd7b8404a5b6a66dd28b2e121b0e95f7a
6
+ metadata.gz: d8394f2aa0308d14f83642ab1e9835b694ae176c83dfbf053c0e4994c314d83ee68e06d02685e3b16c209112c8cc9b987f3a30fbee795433a51409b286f75dc7
7
+ data.tar.gz: 66405a57f71b9c1c66780f29b9ab90b3ce00cb7ae4f61d7ecf08644e5f084d01e3a7f472217efb06df200b45e1f5cc2ad1df2c757abaaccf2ae9bd481df718b6
@@ -0,0 +1,3 @@
1
+ module Dota2Api27n
2
+ class RequestEmpty < StandardError; end
3
+ end
@@ -0,0 +1,3 @@
1
+ module Dota2Api27n
2
+ class RequestError < StandardError; end
3
+ end
@@ -0,0 +1,38 @@
1
+ module Dota2Api27n
2
+ class Leagues
3
+ attr_reader :leagues, :total_leagues
4
+
5
+ def initialize(offset, limit)
6
+ leagues_request = leagues_request(offset, limit)
7
+
8
+ @leagues = leagues_request[:results]
9
+ @total_leagues = leagues_request[:total_leagues]
10
+ end
11
+
12
+ private
13
+
14
+ def leagues_request(offset, limit)
15
+ options = "?offset=#{offset}&limit=#{limit}"
16
+
17
+ leagues = request(League::ENDPOINT, options)
18
+
19
+ if leagues.headers['x-ratelimit-remaining'].to_i < 0
20
+ sleep leagues.headers['x-ratelimit-reset'].to_i
21
+ leagues = request(League::ENDPOINT, options)
22
+ else
23
+ leagues
24
+ end
25
+
26
+ raise RequestEmpty if leagues.empty?
27
+
28
+ results = leagues['results'].map { |league| League.new(league) }
29
+ total_leagues = leagues['meta']['total']
30
+
31
+ {results: results, total_leagues: total_leagues}
32
+ end
33
+
34
+ def request(method, options = nil)
35
+ client = Client.new.get(method, options)
36
+ end
37
+ end
38
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dota2_api27n
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleksii Protsenko
@@ -18,6 +18,9 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - lib/dota2_api27n.rb
20
20
  - lib/dota2_api27n/client.rb
21
+ - lib/dota2_api27n/exceptions/request_empty.rb
22
+ - lib/dota2_api27n/exceptions/request_error.rb
23
+ - lib/dota2_api27n/leagues.rb
21
24
  - lib/dota2_api27n/models/league.rb
22
25
  homepage: https://github.com/railkun/dota2_api27n
23
26
  licenses: