dota2_api27n 1.0.6 → 1.0.7

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: 863323cbd5fe66dcbe5dbd5333ad9c82a235f08029051e9cb2270f2f7aa354e5
4
- data.tar.gz: 7669b29f3dc1ebc04e5d4f9905649c32abd69360231622829473836f80f6fc82
3
+ metadata.gz: ff48b0e5301e2bf95d9597af8d6d5dfbbe1ebbb3e79a02d972383902846786a6
4
+ data.tar.gz: 69d6810017d78316900b76de1effe4150090914b7372fec0685f6091f08d45c7
5
5
  SHA512:
6
- metadata.gz: ee46696d18aff07bfd1788e4a9185a2c3ad788b22f21a03cd7e3999c80b97d079f76aae3d48f3ce82e9296ac0f3f4f5a2dbfb208254228436982df51386bd8ff
7
- data.tar.gz: 8007206d25402b74170b5b9ef6d2f41fe6dd591e60d65d01e7f02e6dda968722c401fc74a329b39aa58930e1326ceee32977c3c3e87d43dfcffa66757d2ed0fe
6
+ metadata.gz: 31cd5a8253f64791e8a3ea7f83d589c9be93587409e7af4a38756351c0c6b548f5dd48ccee02520e726a36a9cc84ebf5b95ca56dde4c9fd0be277bd887222447
7
+ data.tar.gz: d09d8c4d544257388c968d766045dc96c5dba125df812d029161855a55b635a1f78a7b9f96fd936efda710fddcf5a78db099bfb2ad17a18929db90b4a66b3c52
@@ -1,18 +1,18 @@
1
1
  require 'httparty'
2
- require 'pry'
3
2
 
4
- require_relative 'dota2_api27n/models/league'
5
3
  require_relative 'dota2_api27n/client'
6
- require_relative 'dota2_api27n/leagues'
4
+ require_relative 'dota2_api27n/models/league'
5
+ require_relative 'dota2_api27n/models/leagues'
6
+ require_relative 'dota2_api27n/leagues_request'
7
7
  require_relative 'dota2_api27n/exceptions/request_error'
8
8
  require_relative 'dota2_api27n/exceptions/request_empty'
9
9
 
10
10
  module Dota2Api27n
11
11
  def self.leagues(offset: 0, limit: 100)
12
- Leagues.leagues(offset, limit)
12
+ LeaguesRequest.leagues(offset, limit)
13
13
  end
14
14
 
15
15
  def self.total_leagues(offset: 0, limit: 100)
16
- Leagues.total_leagues(offset, limit)
16
+ LeaguesRequest.total_leagues(offset, limit)
17
17
  end
18
18
  end
@@ -0,0 +1,38 @@
1
+ module Dota2Api27n
2
+ class LeaguesRequest
3
+
4
+ def self.leagues(offset, limit)
5
+ all_leagues(offset, limit).results
6
+ end
7
+
8
+ def self.total_leagues(offset, limit)
9
+ all_leagues(offset, limit).total
10
+ end
11
+
12
+ private
13
+
14
+ def self.all_leagues(offset, limit)
15
+ options = "?offset=#{offset}&limit=#{limit}"
16
+
17
+ leagues_request = request(League::ENDPOINT, options)
18
+
19
+ if leagues_request.headers['x-ratelimit-remaining'].to_i < 0
20
+ sleep leagues_request.headers['x-ratelimit-reset'].to_i
21
+ leagues_request = request(League::ENDPOINT, options)
22
+ else
23
+ leagues_request
24
+ end
25
+
26
+ raise RequestEmpty if leagues_request['results'].empty?
27
+
28
+ results = leagues_request['results'].map { |league| League.new(league) }
29
+ total = leagues_request['meta']['total']
30
+
31
+ Leagues.new(results, total)
32
+ end
33
+
34
+ def self.request(method, options = nil)
35
+ client = Client.new.get(method, options)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,10 @@
1
+ module Dota2Api27n
2
+ class Leagues
3
+ attr_reader :results, :total
4
+
5
+ def initialize(results, total)
6
+ @results = results
7
+ @total = total
8
+ end
9
+ end
10
+ 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.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleksii Protsenko
@@ -20,8 +20,9 @@ files:
20
20
  - lib/dota2_api27n/client.rb
21
21
  - lib/dota2_api27n/exceptions/request_empty.rb
22
22
  - lib/dota2_api27n/exceptions/request_error.rb
23
- - lib/dota2_api27n/leagues.rb
23
+ - lib/dota2_api27n/leagues_request.rb
24
24
  - lib/dota2_api27n/models/league.rb
25
+ - lib/dota2_api27n/models/leagues.rb
25
26
  homepage: https://github.com/railkun/dota2_api27n
26
27
  licenses:
27
28
  - MIT
@@ -1,39 +0,0 @@
1
- module Dota2Api27n
2
- class Leagues
3
- attr_reader :leagues, :total_leagues
4
-
5
- def self.leagues(offset, limit)
6
- all_leagues(offset, limit)[:results]
7
- end
8
-
9
- def self.total_leagues(offset, limit)
10
- all_leagues(offset, limit)[:total_leagues]
11
- end
12
-
13
- private
14
-
15
- def self.all_leagues(offset, limit)
16
- options = "?offset=#{offset}&limit=#{limit}"
17
-
18
- leagues = request(League::ENDPOINT, options)
19
-
20
- if leagues.headers['x-ratelimit-remaining'].to_i < 0
21
- sleep leagues.headers['x-ratelimit-reset'].to_i
22
- leagues = request(League::ENDPOINT, options)
23
- else
24
- leagues
25
- end
26
-
27
- raise RequestEmpty if leagues['results'].empty?
28
-
29
- results = leagues['results'].map { |league| League.new(league) }
30
- total_leagues = leagues['meta']['total']
31
-
32
- {results: results, total_leagues: total_leagues}
33
- end
34
-
35
- def self.request(method, options = nil)
36
- client = Client.new.get(method, options)
37
- end
38
- end
39
- end