sportradar 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9e591077ce14b3b9fe91f220694d95d3c8cb280d
4
- data.tar.gz: 14fdd483819317b7147600f8cb9f8d85821e6f91
3
+ metadata.gz: 85e558057c6e20d58070e33aa9083e4f1b240435
4
+ data.tar.gz: ed3f217431fae841cbba1a72f42ce7e9fcb3cb83
5
5
  SHA512:
6
- metadata.gz: be241a229c81a3a6fdfbac96aa95540442ef84e92544a2df733bc17022ecb181555fd4f149c83e9e659ce8dd5b13e008f89f02458459f584efc52f32f19b9111
7
- data.tar.gz: c61700ef6f70663299d7663010e78c060ae8f206868e12885f6ff9c5565c1f9c9adef6fc242002886c7827ff7a257373bc5e03a4a3c557236df264cba2cfa3f3
6
+ metadata.gz: cf24dd50210ee98a2e85522f5c4f169cfc6ac3c2907c43573e3add9036a3794ccf140597613ef45f4df91d13bda23b9e16b806b237b90c03674668f162da4133
7
+ data.tar.gz: 9dd95be2b647371a4fc4de41b74862215c0136c2f7fa78d3feea8c2ae43ccdc402590dd26f64611d3929b1545e81912c5403b3f8ba0b5df43bf7ff3c0f4c5a43
data/README.md CHANGED
@@ -12,7 +12,7 @@ Currently supports
12
12
  Add this line to your application's Gemfile:
13
13
 
14
14
  ```ruby
15
- gem 'sportradar', '>= 0.0.4'
15
+ gem 'sportradar', '>= 0.0.5'
16
16
  ```
17
17
 
18
18
  And then execute:
@@ -77,10 +77,17 @@ Defaults to and supports API version 5 only.
77
77
  * `Sportradar::Mlb::TeamActiveRosters.new().fetch`
78
78
  * `Sportradar::Mlb::TeamProfile.new(player_id: '<team_guid>').fetch`
79
79
  * `Sportradar::Mlb::TeamRosters.new().fetch`
80
+ * `Sportradar::Mlb::TeamStatistics.new(year: 2015, interval_type: 'reg', team_id: '<team_uuid>').fetch`
80
81
  * `Sportradar::Mlb::Venues.new().fetch`
81
82
 
82
83
  Note: `.save` vs `.fetch` will store in the path specified in `SPORTRADAR_FILE_PATH`.
83
84
 
85
+ #### Bulk Fetches
86
+
87
+ Some helpers will call `.fetch` for each response and return a collection.
88
+
89
+ * `Sportradar::Mlb::SeasonStatistics.perform(year: 2015, interval_type: 'reg').fetch`
90
+
84
91
  #### Bulk Saves
85
92
 
86
93
  Some helpers will call .save for each response as separate items.
@@ -133,7 +140,14 @@ Defaults to and supports NFL Classic API feed version 1 only (not Official).
133
140
  * `Sportradar::Nfl::WeeklyLeaders.new(week: 1, year: 2015).fetch`
134
141
  * `Sportradar::Nfl::Standings.new(year: 2015, interval_type: <reg|pre|pst>).fetch`
135
142
  * `Sportradar::Nfl::Rankings.new(year: 2015).fetch`
136
- * `Sportradar::Nfl::TeamStatistics.new(year: 2015, interval_type: 'reg', team_abbreviation: 'NE').fetch`
143
+ * `Sportradar::Nfl::TeamStatistics.new(year: 2015, interval_type: 'reg', team_id: 'NE').fetch`
144
+
145
+ #### Bulk Fetches
146
+
147
+ Some helpers will call `.fetch` for each response and return a collection.
148
+
149
+ * `Sportradar::Nfl::TeamRosters.fetch`
150
+ * `Sportradar::Nfl::SeasonStatistics.perform(year: 2015, interval_type: 'reg').fetch`
137
151
 
138
152
  #### Bulk Saves
139
153
 
@@ -141,12 +155,12 @@ Some helpers will call `.save` for each response as separate items.
141
155
 
142
156
  * `Sportradar::Nfl::TeamRosters.perform`
143
157
  * `Sportradar::Nfl::TeamDepthCharts.perform`
144
- * `Sportradar::Nfl::WeeklyExtendedBoxscores.perform(year: 2015, interval_type: 'reg', week: 1)`
145
- * `Sportradar::Nfl::WeeklyGameDepthCharts.perform(year: 2015, interval_type: 'reg', week: 1)`
146
- * `Sportradar::Nfl::WeeklyGameStatistics.perform(year: 2015, interval_type: 'reg', week: 2)`
147
- * `Sportradar::Nfl::WeeklyGameSummary.perform(year: 2015, interval_type: 'reg', week: 2)`
148
- * `Sportradar::Nfl::WeeklyPlayByPlay.perform(year: 2015, interval_type: 'reg', week: 1)`
149
- * `Sportradar::Nfl::SeasonStatistics.perform(year: 2015, interval_type: 'reg')`
158
+ * `Sportradar::Nfl::WeeklyExtendedBoxscores.perform(year: 2015, interval_type: 'reg', week: 1).perform`
159
+ * `Sportradar::Nfl::WeeklyGameDepthCharts.perform(year: 2015, interval_type: 'reg', week: 1).perform`
160
+ * `Sportradar::Nfl::WeeklyGameStatistics.perform(year: 2015, interval_type: 'reg', week: 2).perform`
161
+ * `Sportradar::Nfl::WeeklyGameSummary.perform(year: 2015, interval_type: 'reg', week: 2).perform`
162
+ * `Sportradar::Nfl::WeeklyPlayByPlay.perform(year: 2015, interval_type: 'reg', week: 1).perform`
163
+ * `Sportradar::Nfl::SeasonStatistics.perform(year: 2015, interval_type: 'reg').perform`
150
164
 
151
165
  ### Model Helpers
152
166
 
data/lib/sportradar.rb CHANGED
@@ -19,6 +19,7 @@ require 'sportradar/client/configuration'
19
19
 
20
20
  require 'sportradar/feeds/league_schedule'
21
21
  require 'sportradar/feeds/league_hierarchy'
22
+ require 'sportradar/feeds/team_statistics'
22
23
 
23
24
  require 'sportradar/mlb/models/at_bat'
24
25
  require 'sportradar/mlb/models/pitch'
@@ -43,9 +44,12 @@ require 'sportradar/mlb/play_by_play'
43
44
  require 'sportradar/mlb/player_profile'
44
45
  require 'sportradar/mlb/daily_play_by_play'
45
46
  require 'sportradar/mlb/league_schedule'
47
+ require 'sportradar/mlb/teams_request'
48
+ require 'sportradar/mlb/season_statistics'
46
49
  require 'sportradar/mlb/team_active_rosters'
47
50
  require 'sportradar/mlb/team_profile'
48
51
  require 'sportradar/mlb/team_rosters'
52
+ require 'sportradar/mlb/team_statistics'
49
53
  require 'sportradar/mlb/venues'
50
54
 
51
55
  require 'sportradar/nfl/parsers/boxscore_parser'
@@ -0,0 +1,18 @@
1
+ module Sportradar
2
+ module Feeds
3
+ class TeamStatistics < Sportradar::Feeds::LeagueSchedule
4
+ def initialize(year: nil, interval_type: nil, team_id:)
5
+ super(year: year, interval_type: interval_type)
6
+ @team_id = team_id
7
+ end
8
+
9
+ def path
10
+ "teams/#{team_id}/#{year}/#{interval_type}/statistics.json"
11
+ end
12
+
13
+ private
14
+
15
+ attr_reader :team_id
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,48 @@
1
+ module Sportradar
2
+ module Mlb
3
+ class SeasonStatistics < Sportradar::Mlb::TeamsRequest
4
+ def initialize(year:, interval_type:)
5
+ @year = year || Date.today.strftime('%Y')
6
+ @interval_type = interval_type || 'reg'
7
+ end
8
+
9
+ def self.fetch
10
+ new.fetch
11
+ end
12
+
13
+ def fetch
14
+ team_statistics = []
15
+
16
+ team_ids.each do |team_id|
17
+ team_statistics << TeamStatistics.new(year: year,
18
+ interval_type: interval_type,
19
+ team_id: team_id).fetch
20
+ end
21
+
22
+ {
23
+ 'teams' => team_statistics ,
24
+ 'requested_at' => Time.current,
25
+ 'requested_on' => Time.current.to_date,
26
+ }
27
+ end
28
+
29
+ def self.perform(year:, interval_type:)
30
+ new(year: year, interval_type: interval_type).perform
31
+ end
32
+
33
+ def perform
34
+ team_ids.each do |team_id|
35
+ TeamStatistics.new(year: year,
36
+ interval_type: interval_type,
37
+ team_id: team_id).save
38
+ end
39
+
40
+ nil
41
+ end
42
+
43
+ private
44
+
45
+ attr_reader :interval_type, :year
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,9 @@
1
+ module Sportradar
2
+ module Mlb
3
+ class TeamStatistics < Sportradar::Feeds::TeamStatistics
4
+ def path
5
+ "seasontd/#{year}/#{interval_type}/teams/#{team_id}/statistics.json"
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,39 @@
1
+ module Sportradar
2
+ module Mlb
3
+ class TeamsRequest
4
+ private
5
+
6
+ def team_ids
7
+ teams.map { |team| team['id'] }.sort
8
+ end
9
+
10
+ def hierarchy
11
+ _hierarchy ||= LeagueHierarchy.new.fetch
12
+ end
13
+
14
+ def leagues
15
+ leagues ||= hierarchy['leagues']
16
+ end
17
+
18
+ def divisions
19
+ @divisions = []
20
+
21
+ leagues.each do |league|
22
+ @divisions << league['divisions']
23
+ end
24
+
25
+ @divisions.flatten
26
+ end
27
+
28
+ def teams
29
+ @teams = []
30
+
31
+ divisions.each do |division|
32
+ @teams << division['teams']
33
+ end
34
+
35
+ @teams.flatten
36
+ end
37
+ end
38
+ end
39
+ end
@@ -6,15 +6,35 @@ module Sportradar
6
6
  @interval_type = interval_type || 'reg'
7
7
  end
8
8
 
9
+ def self.fetch
10
+ new.fetch
11
+ end
12
+
13
+ def fetch
14
+ team_statistics = []
15
+
16
+ team_ids.each do |team_id|
17
+ team_statistics << TeamStatistics.new(year: year,
18
+ interval_type: interval_type,
19
+ team_id: team_id).fetch
20
+ end
21
+
22
+ {
23
+ 'teams' => team_statistics ,
24
+ 'requested_at' => Time.current,
25
+ 'requested_on' => Time.current.to_date,
26
+ }
27
+ end
28
+
9
29
  def self.perform(year:, interval_type:)
10
30
  new(year: year, interval_type: interval_type).perform
11
31
  end
12
32
 
13
33
  def perform
14
- team_abbreviations.each do |team_abbreviation|
34
+ team_ids.each do |team_id|
15
35
  TeamStatistics.new(year: year,
16
36
  interval_type: interval_type,
17
- team_abbreviation: team_abbreviation).save
37
+ team_id: team_id).save
18
38
  end
19
39
 
20
40
  nil
@@ -1,16 +1,28 @@
1
1
  module Sportradar
2
2
  module Nfl
3
3
  class TeamRosters < Sportradar::Nfl::TeamsRequest
4
+ def self.fetch
5
+ new.fetch
6
+ end
7
+
8
+ def fetch
9
+ team_rosters = []
10
+
11
+ team_abbreviations.each do |team_abbreviation|
12
+ team_rosters << TeamRoster.new(team_abbreviation: team_abbreviation).fetch
13
+ end
14
+
15
+ { 'teams' => team_rosters }
16
+ end
17
+
4
18
  def self.perform
5
19
  new.perform
6
20
  end
7
21
 
8
22
  def perform
9
23
  team_abbreviations.each do |team_abbreviation|
10
- TeamRoster.new(team_abbreviation: team_abbreviation).save
24
+ rosters << TeamRoster.new(team_abbreviation: team_abbreviation).save
11
25
  end
12
-
13
- nil
14
26
  end
15
27
  end
16
28
  end
@@ -1,18 +1,6 @@
1
1
  module Sportradar
2
2
  module Nfl
3
- class TeamStatistics < Sportradar::Feeds::LeagueSchedule
4
- def initialize(year: nil, interval_type: nil, team_abbreviation:)
5
- super(year: year, interval_type: interval_type)
6
- @team_abbreviation = team_abbreviation
7
- end
8
-
9
- def path
10
- "teams/#{team_abbreviation}/#{year}/#{interval_type}/statistics.json"
11
- end
12
-
13
- private
14
-
15
- attr_reader :team_abbreviation
3
+ class TeamStatistics < Sportradar::Feeds::TeamStatistics
16
4
  end
17
5
  end
18
6
  end
@@ -3,7 +3,7 @@ module Sportradar
3
3
  class TeamsRequest
4
4
  private
5
5
 
6
- def team_abbreviations
6
+ def team_ids
7
7
  teams.map { |team| team['id'] }.sort
8
8
  end
9
9
 
@@ -1,3 +1,3 @@
1
1
  module Sportradar
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportradar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stattleship
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-08-14 00:00:00.000000000 Z
12
+ date: 2016-08-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -171,6 +171,7 @@ files:
171
171
  - lib/sportradar/client/daily_api_request.rb
172
172
  - lib/sportradar/feeds/league_hierarchy.rb
173
173
  - lib/sportradar/feeds/league_schedule.rb
174
+ - lib/sportradar/feeds/team_statistics.rb
174
175
  - lib/sportradar/mlb/boxscore.rb
175
176
  - lib/sportradar/mlb/daily_boxscore.rb
176
177
  - lib/sportradar/mlb/daily_game_summary.rb
@@ -192,9 +193,12 @@ files:
192
193
  - lib/sportradar/mlb/parsers/scoring_plays_parser.rb
193
194
  - lib/sportradar/mlb/play_by_play.rb
194
195
  - lib/sportradar/mlb/player_profile.rb
196
+ - lib/sportradar/mlb/season_statistics.rb
195
197
  - lib/sportradar/mlb/team_active_rosters.rb
196
198
  - lib/sportradar/mlb/team_profile.rb
197
199
  - lib/sportradar/mlb/team_rosters.rb
200
+ - lib/sportradar/mlb/team_statistics.rb
201
+ - lib/sportradar/mlb/teams_request.rb
198
202
  - lib/sportradar/mlb/venues.rb
199
203
  - lib/sportradar/nfl/boxscore.rb
200
204
  - lib/sportradar/nfl/extended_boxscore.rb