football-butler 1.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/lib/football/butler/api.rb +10 -16
  3. data/lib/football/butler/api_football/base_api_football.rb +17 -0
  4. data/lib/football/butler/api_football/coachs.rb +46 -0
  5. data/lib/football/butler/api_football/countries.rb +39 -0
  6. data/lib/football/butler/api_football/fixtures.rb +80 -0
  7. data/lib/football/butler/api_football/head_to_head.rb +56 -0
  8. data/lib/football/butler/api_football/injuries.rb +62 -0
  9. data/lib/football/butler/api_football/leagues.rb +101 -0
  10. data/lib/football/butler/api_football/lineups.rb +39 -0
  11. data/lib/football/butler/api_football/odds.rb +55 -0
  12. data/lib/football/butler/api_football/players.rb +47 -0
  13. data/lib/football/butler/api_football/predictions.rb +27 -0
  14. data/lib/football/butler/api_football/sidelineds.rb +37 -0
  15. data/lib/football/butler/api_football/standings.rb +35 -0
  16. data/lib/football/butler/api_football/statistics.rb +22 -0
  17. data/lib/football/butler/api_football/teams.rb +66 -0
  18. data/lib/football/butler/api_football/timezones.rb +21 -0
  19. data/lib/football/butler/api_football/top_scorers.rb +22 -0
  20. data/lib/football/butler/api_football/transfers.rb +36 -0
  21. data/lib/football/butler/api_football/trophies.rb +37 -0
  22. data/lib/football/butler/api_football/venues.rb +66 -0
  23. data/lib/football/butler/apifootball/base_apifootball.rb +17 -0
  24. data/lib/football/butler/apifootball/competitions.rb +30 -0
  25. data/lib/football/butler/apifootball/countries.rb +20 -0
  26. data/lib/football/butler/apifootball/events.rb +61 -0
  27. data/lib/football/butler/apifootball/head_to_head.rb +30 -0
  28. data/lib/football/butler/apifootball/lineups.rb +22 -0
  29. data/lib/football/butler/apifootball/odds.rb +25 -0
  30. data/lib/football/butler/apifootball/players.rb +27 -0
  31. data/lib/football/butler/apifootball/predictions.rb +28 -0
  32. data/lib/football/butler/apifootball/standings.rb +23 -0
  33. data/lib/football/butler/apifootball/statistics.rb +22 -0
  34. data/lib/football/butler/apifootball/teams.rb +29 -0
  35. data/lib/football/butler/apifootball/top_scorers.rb +22 -0
  36. data/lib/football/butler/areas.rb +23 -23
  37. data/lib/football/butler/base.rb +45 -18
  38. data/lib/football/butler/coachs.rb +26 -0
  39. data/lib/football/butler/competitions.rb +53 -44
  40. data/lib/football/butler/configuration.rb +275 -14
  41. data/lib/football/butler/countries.rb +11 -0
  42. data/lib/football/butler/events.rb +11 -0
  43. data/lib/football/butler/fixtures.rb +11 -0
  44. data/lib/football/butler/football_data/areas.rb +40 -0
  45. data/lib/football/butler/football_data/competitions.rb +72 -0
  46. data/lib/football/butler/football_data/head_to_head.rb +27 -0
  47. data/lib/football/butler/football_data/lineups.rb +32 -0
  48. data/lib/football/butler/football_data/matches.rb +110 -0
  49. data/lib/football/butler/football_data/odds.rb +27 -0
  50. data/lib/football/butler/football_data/players.rb +20 -0
  51. data/lib/football/butler/football_data/scorers.rb +23 -0
  52. data/lib/football/butler/football_data/standings.rb +47 -0
  53. data/lib/football/butler/football_data/teams.rb +39 -0
  54. data/lib/football/butler/head_to_head.rb +28 -0
  55. data/lib/football/butler/injuries.rb +31 -0
  56. data/lib/football/butler/leagues.rb +11 -0
  57. data/lib/football/butler/lineups.rb +18 -0
  58. data/lib/football/butler/matches.rb +48 -83
  59. data/lib/football/butler/odds.rb +18 -0
  60. data/lib/football/butler/players.rb +26 -0
  61. data/lib/football/butler/predictions.rb +17 -0
  62. data/lib/football/butler/scorers.rb +22 -0
  63. data/lib/football/butler/sidelineds.rb +20 -0
  64. data/lib/football/butler/standings.rb +16 -29
  65. data/lib/football/butler/statistics.rb +17 -0
  66. data/lib/football/butler/teams.rb +23 -23
  67. data/lib/football/butler/tier.rb +26 -11
  68. data/lib/football/butler/timezones.rb +16 -0
  69. data/lib/football/butler/top_scorers.rb +11 -0
  70. data/lib/football/butler/transfers.rb +21 -0
  71. data/lib/football/butler/trophies.rb +21 -0
  72. data/lib/football/butler/venues.rb +34 -0
  73. data/lib/football/butler/version.rb +8 -2
  74. data/lib/football/butler.rb +19 -0
  75. metadata +69 -6
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/football_data/odds'
3
+ require 'football/butler/apifootball/odds'
4
+ require 'football/butler/api_football/odds'
5
+
6
+ module Football
7
+ module Butler
8
+ class Odds < Base
9
+
10
+ class << self
11
+ ## ODDS
12
+ def by_match(id:, from: nil, to: nil, result: api_switch_result)
13
+ api_switch_method(__method__, { id: id, from: from, to: to, result: result })
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/apifootball/players'
3
+ require 'football/butler/football_data/players'
4
+ require 'football/butler/api_football/players'
5
+
6
+ module Football
7
+ module Butler
8
+ class Players < Base
9
+
10
+ class << self
11
+ ## PLAYER
12
+ def by_id(id:)
13
+ api_switch_method(__method__, { id: id })
14
+ end
15
+
16
+ def by_name(name:, result: api_switch_result)
17
+ api_switch_method(__method__, { name: name, result: result })
18
+ end
19
+
20
+ def by_id_and_season(id:, season:, result: api_switch_result, filters: {})
21
+ api_switch_method(__method__, { id: id, season: season, result: result, filters: filters })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/apifootball/predictions'
3
+ require 'football/butler/api_football/predictions'
4
+
5
+ module Football
6
+ module Butler
7
+ class Predictions < Base
8
+
9
+ class << self
10
+ ## PREDICTIONS
11
+ def by_match(id:, filters: {}, result: api_switch_result)
12
+ api_switch_method(__method__, { id: id, filters: filters, result: result })
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/football_data/scorers'
3
+ require 'football/butler/apifootball/top_scorers'
4
+ require 'football/butler/api_football/top_scorers'
5
+
6
+ module Football
7
+ module Butler
8
+ class Scorers < Base
9
+
10
+ class << self
11
+ ## SCORER
12
+ def by_competition(id:, result: api_switch_result, filters: {})
13
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
14
+ end
15
+
16
+ def by_competition_and_year(id:, year:, result: api_switch_result, filters: {})
17
+ api_switch_method(__method__, { id: id, year: year, result: result, filters: filters })
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/api_football/sidelineds'
3
+
4
+ module Football
5
+ module Butler
6
+ class Sidelineds < Base
7
+
8
+ class << self
9
+ ## SIDELINEDS
10
+ def by_player(player:, result: api_switch_result, filters: {})
11
+ api_switch_method(__method__, { player: player, result: result, filters: filters })
12
+ end
13
+
14
+ def by_coach(coach:, result: api_switch_result, filters: {})
15
+ api_switch_method(__method__, { coach: coach, result: result, filters: filters })
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,43 +1,30 @@
1
1
  # frozen_string_literal: true
2
+ require 'football/butler/apifootball/standings'
3
+ require 'football/butler/football_data/standings'
4
+ require 'football/butler/api_football/standings'
2
5
 
3
6
  module Football
4
7
  module Butler
5
8
  class Standings < Base
6
- PATH = :standings
7
9
 
8
- STANDING_TYPE_HOME = 'HOME'
9
- STANDING_TYPE_AWAY = 'AWAY'
10
+ class << self
11
+ def by_competition(id:, result: api_switch_result, filters: {})
12
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
13
+ end
10
14
 
11
- ## STANDINGS
12
- #
13
- # season={YEAR}
14
- # standingType={standingType}
15
- # standingType: [ TOTAL (default) | HOME | AWAY ]
16
- #
17
- # v2/competitions/{id}/standings
18
- def self.by_competition(id:, result: PATH, filters: {})
19
- path = "#{Competitions::PATH}/#{id}/#{PATH}"
20
- Api.get(path: path, filters: filters, result: result)
21
- end
15
+ def home_by_competition(id:, result: api_switch_result, filters: {})
16
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
17
+ end
22
18
 
23
- # v2/competitions/{id}/standings?standingType=HOME
24
- def self.home_by_competition(id:, result: PATH, filters: {})
25
- filters.merge!({ standingType: STANDING_TYPE_HOME })
26
- by_competition(id: id, filters: filters, result: result)
27
- end
19
+ def away_by_competition(id:, result: api_switch_result, filters: {})
20
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
21
+ end
28
22
 
29
- # v2/competitions/{id}/standings?standingType=AWAY
30
- def self.away_by_competition(id:, result: PATH, filters: {})
31
- filters.merge!({ standingType: STANDING_TYPE_AWAY })
32
- by_competition(id: id, filters: filters, result: result)
23
+ def by_competition_and_year(id:, year:, result: api_switch_result, filters: {})
24
+ api_switch_method(__method__, { id: id, year: year, result: result, filters: filters })
25
+ end
33
26
  end
34
27
 
35
- # v2/competitions/{id}/standings
36
- def self.by_competition_and_year(id:, year:, result: PATH, filters: {})
37
- path = "#{Competitions::PATH}/#{id}/#{PATH}"
38
- filters.merge!({ season: year })
39
- Api.get(path: path, filters: filters, result: result)
40
- end
41
28
  end
42
29
  end
43
30
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/apifootball/statistics'
3
+ require 'football/butler/api_football/statistics'
4
+
5
+ module Football
6
+ module Butler
7
+ class Statistics < Base
8
+
9
+ class << self
10
+ ## STATISTICS
11
+ def by_match(id:, result: api_switch_result)
12
+ api_switch_method(__method__, { id: id, result: result })
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,34 +1,34 @@
1
1
  # frozen_string_literal: true
2
+ require 'football/butler/apifootball/teams'
3
+ require 'football/butler/football_data/teams'
4
+ require 'football/butler/api_football/teams'
2
5
 
3
6
  module Football
4
7
  module Butler
5
8
  class Teams < Base
6
- PATH = :teams
7
9
 
8
- ## TEAM
9
- # v2/teams/{id}
10
- # returns team object directly as a hash
11
- def self.by_id(id:)
12
- path = "#{PATH}/#{id}"
13
- Api.get(path: path)
14
- end
10
+ class << self
11
+ ## TEAM
12
+ def by_id(id:)
13
+ api_switch_method(__method__, { id: id })
14
+ end
15
15
 
16
- ## COMPETITION
17
- #
18
- # season={YEAR}
19
- # stage={STAGE}
20
- #
21
- # v2/competitions/{id}/teams
22
- def self.by_competition(id:, result: PATH, filters: {})
23
- path = "#{Competitions::PATH}/#{id}/#{PATH}"
24
- Api.get(path: path, result: result, filters: filters)
25
- end
16
+ def by_name(name:)
17
+ api_switch_method(__method__, { name: name })
18
+ end
19
+
20
+ def by_country_name(name:)
21
+ api_switch_method(__method__, { name: name })
22
+ end
23
+
24
+ ## COMPETITION
25
+ def by_competition(id:, result: api_switch_result, filters: {})
26
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
27
+ end
26
28
 
27
- # v2/competitions/{id}/teams?year={year}
28
- def self.by_competition_and_year(id:, year:, result: PATH, filters: {})
29
- path = "#{Competitions::PATH}/#{id}/#{PATH}"
30
- filters.merge!({ year: year })
31
- Api.get(path: path, result: result, filters: filters)
29
+ def by_competition_and_year(id:, year:, result: api_switch_result, filters: {})
30
+ api_switch_method(__method__, { id: id, year: year, result: result, filters: filters })
31
+ end
32
32
  end
33
33
  end
34
34
  end
@@ -9,11 +9,24 @@ module Football
9
9
  attr_accessor :available_minute, :counter_reset, :last_request, :total_requests, :sleep_seconds
10
10
 
11
11
  def set_from_response_headers(response)
12
- if available_minute?(response) && counter_reset?(response)
13
- set_tier_from_response(
14
- response.headers['x-requests-available-minute'],
15
- response.headers['x-requestcounter-reset']
16
- )
12
+ case Configuration.api_name
13
+ when :apifootball_com
14
+ # n/a
15
+ when :football_data_org
16
+ if available_minute?(response, 'x-requests-available-minute') &&
17
+ counter_reset?(response, 'x-requestcounter-reset')
18
+ set_tier_from_response(
19
+ response.headers['x-requests-available-minute'],
20
+ response.headers['x-requestcounter-reset']
21
+ )
22
+ end
23
+ when :api_football_com
24
+ if available_minute?(response, 'x-ratelimit-remaining')
25
+ set_tier_from_response(
26
+ response.headers['x-ratelimit-remaining'],
27
+ '60'
28
+ )
29
+ end
17
30
  end
18
31
  end
19
32
 
@@ -22,17 +35,15 @@ module Football
22
35
  @counter_reset = counter_reset.to_i
23
36
  @last_request = Time.current
24
37
 
25
- @total_requests = @total_requests.is_a?(Integer) ? @total_requests + 1 : 1
26
-
27
38
  true
28
39
  end
29
40
 
30
- def available_minute?(response)
31
- response&.headers&.dig('x-requests-available-minute')&.present?
41
+ def available_minute?(response, key_remaining_minute)
42
+ response&.headers&.dig(key_remaining_minute)&.present?
32
43
  end
33
44
 
34
- def counter_reset?(response)
35
- response&.headers&.dig('x-requestcounter-reset')&.present?
45
+ def counter_reset?(response, key_reset)
46
+ response&.headers&.dig(key_reset)&.present?
36
47
  end
37
48
 
38
49
  def get_sleep_seconds
@@ -53,6 +64,10 @@ module Football
53
64
  @total_requests = 0
54
65
  end
55
66
 
67
+ def count_request
68
+ @total_requests = @total_requests.is_a?(Integer) ? @total_requests + 1 : 1
69
+ end
70
+
56
71
  def reset_sleep_seconds
57
72
  @sleep_seconds = 0
58
73
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/api_football/timezones'
3
+
4
+ module Football
5
+ module Butler
6
+ class Timezones < Base
7
+
8
+ class << self
9
+ ## TIMEZONE
10
+ def all(result: api_switch_result)
11
+ api_switch_method(__method__, { result: result })
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/football_data/scorers'
3
+ require 'football/butler/apifootball/top_scorers'
4
+ require 'football/butler/api_football/top_scorers'
5
+
6
+ module Football
7
+ module Butler
8
+ class TopScorers < Scorers
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/api_football/transfers'
3
+
4
+ module Football
5
+ module Butler
6
+ class Transfers < Base
7
+
8
+ class << self
9
+ ## TRANSFERS
10
+ #
11
+ def by_player(player:, result: api_switch_result, filters: {})
12
+ api_switch_method(__method__, { player: player, result: result, filters: filters })
13
+ end
14
+
15
+ def by_team(team:, result: api_switch_result, filters: {})
16
+ api_switch_method(__method__, { team: team, result: result, filters: filters })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/api_football/trophies'
3
+
4
+ module Football
5
+ module Butler
6
+ class Trophies < Base
7
+
8
+ class << self
9
+ ## TROPHIES
10
+ #
11
+ def by_player(player:, result: api_switch_result, filters: {})
12
+ api_switch_method(__method__, { player: player, result: result, filters: filters })
13
+ end
14
+
15
+ def by_coach(coach:, result: api_switch_result, filters: {})
16
+ api_switch_method(__method__, { coach: coach, result: result, filters: filters })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ require 'football/butler/api_football/venues'
3
+
4
+ module Football
5
+ module Butler
6
+ class Venues < Base
7
+
8
+ class << self
9
+ ## VENUES
10
+ #
11
+ def by_city(city:, result: api_switch_result, filters: {})
12
+ api_switch_method(__method__, { city: city, result: result, filters: filters })
13
+ end
14
+
15
+ def by_country(country:, result: api_switch_result, filters: {})
16
+ api_switch_method(__method__, { country: country, result: result, filters: filters })
17
+ end
18
+
19
+ def by_name(name:, result: api_switch_result, filters: {})
20
+ api_switch_method(__method__, { name: name, result: result, filters: filters })
21
+ end
22
+
23
+ def by_id(id:, result: api_switch_result, filters: {})
24
+ api_switch_method(__method__, { id: id, result: result, filters: filters })
25
+ end
26
+
27
+ def search(search:, result: api_switch_result, filters: {})
28
+ api_switch_method(__method__, { search: search, result: result, filters: filters })
29
+ end
30
+
31
+ end
32
+ end
33
+ end
34
+ end
@@ -2,7 +2,13 @@
2
2
 
3
3
  module Football
4
4
  module Butler
5
- # TIER_ONE with Standings (new packages) - April 2021
6
- VERSION = "1.1.0"
5
+ # Minor Adjustments and Feauture Freeze due to follow up gem: sports-butler
6
+ # January 2022
7
+ #
8
+ # Supported APIs;
9
+ # - https://www.football-data.org (>= 1.0.0)
10
+ # - https://apifootball.com (>= 2.0.0)
11
+ # - https://api-football.com (>= 2.1.0)
12
+ VERSION = "2.1.1"
7
13
  end
8
14
  end
@@ -10,6 +10,25 @@ require 'football/butler/matches'
10
10
  require 'football/butler/areas'
11
11
  require 'football/butler/teams'
12
12
  require 'football/butler/standings'
13
+ require 'football/butler/countries'
14
+ require 'football/butler/events'
15
+ require 'football/butler/players'
16
+ require 'football/butler/scorers'
17
+ require 'football/butler/top_scorers'
18
+ require 'football/butler/lineups'
19
+ require 'football/butler/statistics'
20
+ require 'football/butler/odds'
21
+ require 'football/butler/head_to_head'
22
+ require 'football/butler/predictions'
23
+ require 'football/butler/leagues'
24
+ require 'football/butler/fixtures'
25
+ require 'football/butler/timezones'
26
+ require 'football/butler/venues'
27
+ require 'football/butler/injuries'
28
+ require 'football/butler/coachs'
29
+ require 'football/butler/transfers'
30
+ require 'football/butler/trophies'
31
+ require 'football/butler/sidelineds'
13
32
 
14
33
  module Football
15
34
  module Butler
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: football-butler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jörg Kirschstein
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-10 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -66,7 +66,8 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.15'
69
- description: API Wrapper with endpoint classes for https://www.football-data.org
69
+ description: Multiple API Wrapper with endpoint classes for football-data.org, apifootball.com,
70
+ api-football.com
70
71
  email:
71
72
  - info@joerg-kirschstein.de
72
73
  executables: []
@@ -75,14 +76,76 @@ extra_rdoc_files: []
75
76
  files:
76
77
  - lib/football/butler.rb
77
78
  - lib/football/butler/api.rb
79
+ - lib/football/butler/api_football/base_api_football.rb
80
+ - lib/football/butler/api_football/coachs.rb
81
+ - lib/football/butler/api_football/countries.rb
82
+ - lib/football/butler/api_football/fixtures.rb
83
+ - lib/football/butler/api_football/head_to_head.rb
84
+ - lib/football/butler/api_football/injuries.rb
85
+ - lib/football/butler/api_football/leagues.rb
86
+ - lib/football/butler/api_football/lineups.rb
87
+ - lib/football/butler/api_football/odds.rb
88
+ - lib/football/butler/api_football/players.rb
89
+ - lib/football/butler/api_football/predictions.rb
90
+ - lib/football/butler/api_football/sidelineds.rb
91
+ - lib/football/butler/api_football/standings.rb
92
+ - lib/football/butler/api_football/statistics.rb
93
+ - lib/football/butler/api_football/teams.rb
94
+ - lib/football/butler/api_football/timezones.rb
95
+ - lib/football/butler/api_football/top_scorers.rb
96
+ - lib/football/butler/api_football/transfers.rb
97
+ - lib/football/butler/api_football/trophies.rb
98
+ - lib/football/butler/api_football/venues.rb
99
+ - lib/football/butler/apifootball/base_apifootball.rb
100
+ - lib/football/butler/apifootball/competitions.rb
101
+ - lib/football/butler/apifootball/countries.rb
102
+ - lib/football/butler/apifootball/events.rb
103
+ - lib/football/butler/apifootball/head_to_head.rb
104
+ - lib/football/butler/apifootball/lineups.rb
105
+ - lib/football/butler/apifootball/odds.rb
106
+ - lib/football/butler/apifootball/players.rb
107
+ - lib/football/butler/apifootball/predictions.rb
108
+ - lib/football/butler/apifootball/standings.rb
109
+ - lib/football/butler/apifootball/statistics.rb
110
+ - lib/football/butler/apifootball/teams.rb
111
+ - lib/football/butler/apifootball/top_scorers.rb
78
112
  - lib/football/butler/areas.rb
79
113
  - lib/football/butler/base.rb
114
+ - lib/football/butler/coachs.rb
80
115
  - lib/football/butler/competitions.rb
81
116
  - lib/football/butler/configuration.rb
117
+ - lib/football/butler/countries.rb
118
+ - lib/football/butler/events.rb
119
+ - lib/football/butler/fixtures.rb
120
+ - lib/football/butler/football_data/areas.rb
121
+ - lib/football/butler/football_data/competitions.rb
122
+ - lib/football/butler/football_data/head_to_head.rb
123
+ - lib/football/butler/football_data/lineups.rb
124
+ - lib/football/butler/football_data/matches.rb
125
+ - lib/football/butler/football_data/odds.rb
126
+ - lib/football/butler/football_data/players.rb
127
+ - lib/football/butler/football_data/scorers.rb
128
+ - lib/football/butler/football_data/standings.rb
129
+ - lib/football/butler/football_data/teams.rb
130
+ - lib/football/butler/head_to_head.rb
131
+ - lib/football/butler/injuries.rb
132
+ - lib/football/butler/leagues.rb
133
+ - lib/football/butler/lineups.rb
82
134
  - lib/football/butler/matches.rb
135
+ - lib/football/butler/odds.rb
136
+ - lib/football/butler/players.rb
137
+ - lib/football/butler/predictions.rb
138
+ - lib/football/butler/scorers.rb
139
+ - lib/football/butler/sidelineds.rb
83
140
  - lib/football/butler/standings.rb
141
+ - lib/football/butler/statistics.rb
84
142
  - lib/football/butler/teams.rb
85
143
  - lib/football/butler/tier.rb
144
+ - lib/football/butler/timezones.rb
145
+ - lib/football/butler/top_scorers.rb
146
+ - lib/football/butler/transfers.rb
147
+ - lib/football/butler/trophies.rb
148
+ - lib/football/butler/venues.rb
86
149
  - lib/football/butler/version.rb
87
150
  homepage: https://github.com/frontimax/football-butler
88
151
  licenses:
@@ -90,7 +153,7 @@ licenses:
90
153
  metadata:
91
154
  homepage_uri: https://github.com/frontimax/football-butler
92
155
  source_code_uri: https://rubygems.org/gems/football_butler
93
- post_install_message:
156
+ post_install_message:
94
157
  rdoc_options: []
95
158
  require_paths:
96
159
  - lib
@@ -106,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
169
  version: '0'
107
170
  requirements: []
108
171
  rubygems_version: 3.0.3
109
- signing_key:
172
+ signing_key:
110
173
  specification_version: 4
111
174
  summary: Football data via API
112
175
  test_files: []