fantasydata 0.0.2 → 0.2.0
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 +4 -4
- data/README.md +32 -8
- data/lib/fantasydata.rb +12 -0
- data/lib/fantasydata/api/box_score.rb +11 -6
- data/lib/fantasydata/api/league_leaders.rb +18 -0
- data/lib/fantasydata/api/score.rb +18 -0
- data/lib/fantasydata/box_score.rb +87 -0
- data/lib/fantasydata/boxscore/kicking_stat.rb +13 -0
- data/lib/fantasydata/boxscore/passing_stat.rb +16 -0
- data/lib/fantasydata/boxscore/player_defense_stat.rb +15 -0
- data/lib/fantasydata/boxscore/punting_stat.rb +12 -0
- data/lib/fantasydata/boxscore/receiving_stat.rb +15 -0
- data/lib/fantasydata/boxscore/return_stat.rb +16 -0
- data/lib/fantasydata/boxscore/rushing_stat.rb +14 -0
- data/lib/fantasydata/boxscore/score.rb +24 -0
- data/lib/fantasydata/boxscore/scoring_play.rb +11 -0
- data/lib/fantasydata/boxscore/team_defense_stat.rb +30 -0
- data/lib/fantasydata/client.rb +4 -0
- data/lib/fantasydata/score.rb +22 -0
- data/lib/fantasydata/version.rb +1 -1
- data/spec/fantasydata/api/box_score_spec.rb +188 -2
- data/spec/fantasydata/api/league_leaders_spec.rb +50 -0
- data/spec/fantasydata/api/scores_spec.rb +53 -0
- data/spec/fixtures/box_score/active.json +1 -0
- data/spec/fixtures/box_score/by_team.json +1 -0
- data/spec/fixtures/box_score/by_week.json +1 -0
- data/spec/fixtures/box_score/delta.json +1 -0
- data/spec/fixtures/box_score/delta_current.json +1 -0
- data/spec/fixtures/league_leaders/by_season.json +1 -0
- data/spec/fixtures/league_leaders/by_week.json +1 -0
- data/spec/fixtures/scores/by_season.json +1 -0
- data/spec/fixtures/scores/by_week.json +1 -0
- metadata +38 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62dc781a935f0f3686b8fc61490c3f52daa1a08e
|
4
|
+
data.tar.gz: 46af121c0ddb86c3251798943fa25f2a8b931331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab3b260d4eef0efe7b711bf73543f82e5b38722653c534dcda9c5f0624c05f84238324ce9842fcf0ff4198e7329f0578ad11c0697b1bdd9378e7d1bffde7b0a4
|
7
|
+
data.tar.gz: 918a5f751bf8521bda96f867762f81e654afabbaffbe768b9ede34f1aacf01f670bc3edebf614e4bc4fd38478b4fec5143105fac3175df7fcdc493ea2c9015b4
|
data/README.md
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
# Fantasydata
|
2
2
|
|
3
|
-
|
3
|
+
[](http://badge.fury.io/rb/fantasydata)[](https://travis-ci.org/Drosty/fantasydata)[](https://codeclimate.com/github/Drosty/fantasydata)[](https://codeclimate.com/github/Drosty/fantasydata/coverage)
|
4
4
|
|
5
|
-
[](https://travis-ci.org/Drosty/fantasydata)[](https://codeclimate.com/github/Drosty/fantasydata)[](https://codeclimate.com/github/Drosty/fantasydata/coverage)
|
6
5
|
|
7
|
-
|
8
|
-
A Ruby interface to the Fantasy Data API. The Fantasy Data API delivery historical and up to the second NFL, NBA and MLB data. This gem currently only supports the NFL Data but could be expanded to include the others as well. Details about the API can be found here: https://developer.fantasydata.com/documentation
|
9
|
-
|
10
|
-
## Inspiration
|
11
|
-
I relied heavily on the [Echowrap](https://github.com/timcase/echowrap) gem to follow best practices around the structure of the gem, tests and documentation.
|
6
|
+
A Ruby interface to the Fantasy Data API. The Fantasy Data API delivery historical and up to the second NFL, NBA and MLB data. This gem currently only supports the NFL Data but could be expanded to include the others as well. Details about the API can be found here: [https://developer.fantasydata.com/documentation](https://developer.fantasydata.com/documentation). For a Implementation guide check out this page: [http://fantasydata.com/resources/implementation-guide.aspx](http://fantasydata.com/resources/implementation-guide.aspx).
|
12
7
|
|
13
8
|
## Supported Rubies
|
14
9
|
|
10
|
+
The following Ruby versions are tested in [Travis CI](https://travis-ci.org/Drosty/fantasydata):
|
11
|
+
* 2.2.2
|
12
|
+
* 2.2.0
|
13
|
+
* 2.1.5
|
14
|
+
* 2.0.0
|
15
|
+
* 1.9.3
|
16
|
+
* jruby-19mode
|
17
|
+
* rbx-18mode
|
18
|
+
* rbx-19mode
|
19
|
+
|
15
20
|
## Gem Dependencies
|
16
21
|
|
17
22
|
Installing this gem also installs the following gems:
|
@@ -35,7 +40,22 @@ Or install it yourself as:
|
|
35
40
|
|
36
41
|
## Usage
|
37
42
|
|
38
|
-
|
43
|
+
Go to [Fantasy Data](http://www.fantasydata.com) and sign up for an account to get an API Key.
|
44
|
+
|
45
|
+
Then copy and paste in your API keys:
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
Fantasydata.configure do |config|
|
49
|
+
config.api_key = 'YOUR_API_KEY'
|
50
|
+
end
|
51
|
+
```
|
52
|
+
If you are using Fantasydata with a Rails application then a good location for the key would be to create an initializer, for example you could place the above code in /config/initializers/fantasydata.rb.
|
53
|
+
|
54
|
+
You can now use Fantasydata like this:
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
Fantasydata.current_week
|
58
|
+
```
|
39
59
|
|
40
60
|
## Contributing
|
41
61
|
|
@@ -44,3 +64,7 @@ TODO: Write usage instructions here
|
|
44
64
|
3. Commit your changes (`git commit -am 'Added some feature'`)
|
45
65
|
4. Push to the branch (`git push origin my-new-feature`)
|
46
66
|
5. Create new Pull Request
|
67
|
+
|
68
|
+
## Inspiration
|
69
|
+
|
70
|
+
This gem relied heavily on the [Echowrap](https://github.com/timcase/echowrap) gem to follow best practices around the structure of the gem, tests and documentation.
|
data/lib/fantasydata.rb
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
require "fantasydata/version"
|
2
2
|
require 'fantasydata/client'
|
3
3
|
require 'fantasydata/configurable'
|
4
|
+
require 'fantasydata/box_score'
|
5
|
+
require 'fantasydata/boxscore/kicking_stat'
|
6
|
+
require 'fantasydata/boxscore/passing_stat'
|
7
|
+
require 'fantasydata/boxscore/player_defense_stat'
|
8
|
+
require 'fantasydata/boxscore/punting_stat'
|
9
|
+
require 'fantasydata/boxscore/return_stat'
|
10
|
+
require 'fantasydata/boxscore/receiving_stat'
|
11
|
+
require 'fantasydata/boxscore/rushing_stat'
|
12
|
+
require 'fantasydata/boxscore/score'
|
13
|
+
require 'fantasydata/boxscore/scoring_play'
|
14
|
+
require 'fantasydata/boxscore/team_defense_stat'
|
4
15
|
require 'fantasydata/bye_week'
|
5
16
|
require 'fantasydata/fantasy_player_adp'
|
6
17
|
require 'fantasydata/daily_fantasy_player'
|
@@ -14,6 +25,7 @@ require 'fantasydata/game_stat'
|
|
14
25
|
require 'fantasydata/scoring_detail'
|
15
26
|
require 'fantasydata/schedule'
|
16
27
|
require 'fantasydata/team_detail'
|
28
|
+
require 'fantasydata/score'
|
17
29
|
require 'fantasydata/stadium'
|
18
30
|
require 'fantasydata/standings'
|
19
31
|
require 'fantasydata/timeline'
|
@@ -15,9 +15,10 @@ module Fantasydata
|
|
15
15
|
# @param season [String] Year of the season and the season type. If no season type is provided, then the default is regular season Examples: 2015REG, 2015PRE, 2015POST, 2015
|
16
16
|
# @param week [Integer] Week of the season. Valid values are as follows: Preseason 0 to 4, Regular Season 1 to 17, Postseason 1 to 4
|
17
17
|
# @param hometeam [String] Abbreviation of the home team. Example: WAS
|
18
|
-
# @example
|
19
|
-
# Fantasydata.
|
20
|
-
def
|
18
|
+
# @example box_score_by_team
|
19
|
+
# Fantasydata.box_score_by_team('2015REG', 15, 'MIN')
|
20
|
+
def box_score_by_team(season, week, home_team)
|
21
|
+
object_from_response(Fantasydata::BoxScore, :get, "/nfl/v2/JSON/BoxScore/#{season}/#{week}/#{home_team}")
|
21
22
|
end
|
22
23
|
|
23
24
|
|
@@ -30,9 +31,10 @@ module Fantasydata
|
|
30
31
|
# @return [Array<Fantasydata::BoxScore>]
|
31
32
|
# @param season [String] Year of the season and the season type. If no season type is provided, then the default is regular season Examples: 2015REG, 2015PRE, 2015POST, 2015
|
32
33
|
# @param week [Integer] Week of the season. Valid values are as follows: Preseason 0 to 4, Regular Season 1 to 17, Postseason 1 to 4
|
33
|
-
# @example
|
34
|
-
# Fantasydata.
|
35
|
-
def
|
34
|
+
# @example box_scores_by_week
|
35
|
+
# Fantasydata.box_scores_by_week('2015REG', 15)
|
36
|
+
def box_scores_by_week(season, week)
|
37
|
+
objects_from_response(Fantasydata::BoxScore, :get, "/nfl/v2/JSON/BoxScores/#{season}/#{week}")
|
36
38
|
end
|
37
39
|
|
38
40
|
# This method returns box scores for all games that are either in-progress or have been updated within the last 30 minutes.
|
@@ -45,6 +47,7 @@ module Fantasydata
|
|
45
47
|
# @example box_scores_active
|
46
48
|
# Fantasydata.box_scores_active
|
47
49
|
def box_scores_active
|
50
|
+
objects_from_response(Fantasydata::BoxScore, :get, "/nfl/v2/JSON/ActiveBoxScores")
|
48
51
|
end
|
49
52
|
|
50
53
|
# This method returns all box scores for a given season and week, but only returns player stats that have changed in the last X minutes.
|
@@ -60,6 +63,7 @@ module Fantasydata
|
|
60
63
|
# @example box_scores_delta
|
61
64
|
# Fantasydata.box_scores_delta('2014REG', 1, 5)
|
62
65
|
def box_scores_delta(season, week, minutes)
|
66
|
+
objects_from_response(Fantasydata::BoxScore, :get, "/nfl/v2/JSON/BoxScoresDelta/#{season}/#{week}/#{minutes}")
|
63
67
|
end
|
64
68
|
|
65
69
|
# This method returns all box scores for the current week, but only returns player stats that have changed in the last X minutes.
|
@@ -73,6 +77,7 @@ module Fantasydata
|
|
73
77
|
# @example box_scores_delta_current_week
|
74
78
|
# Fantasydata.box_scores_delta_current_week(5)
|
75
79
|
def box_scores_delta_current_week(minutes)
|
80
|
+
objects_from_response(Fantasydata::BoxScore, :get, "/nfl/v2/JSON/RecentlyUpdatedBoxScores/#{minutes}")
|
76
81
|
end
|
77
82
|
|
78
83
|
#
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'fantasydata/api/utils'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module API
|
5
|
+
module LeagueLeaders
|
6
|
+
include Fantasydata::API::Utils
|
7
|
+
|
8
|
+
def league_leaders_by_season(year, position, stat_column)
|
9
|
+
objects_from_response(Fantasydata::PlayerSeasonStat, :get, "/nfl/v2/JSON/SeasonLeagueLeaders/#{year}/#{position.upcase}/#{stat_column}")
|
10
|
+
end
|
11
|
+
|
12
|
+
def league_leaders_by_week(year, week, position, stat_column)
|
13
|
+
objects_from_response(Fantasydata::PlayerGameStat, :get, "/nfl/v2/JSON/GameLeagueLeaders/#{year}/#{week}/#{position.upcase}/#{stat_column}")
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'fantasydata/api/utils'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module API
|
5
|
+
module Score
|
6
|
+
include Fantasydata::API::Utils
|
7
|
+
|
8
|
+
def scores_by_season year
|
9
|
+
objects_from_response(Fantasydata::Score, :get, "/nfl/v2/JSON/Scores/#{year}")
|
10
|
+
end
|
11
|
+
|
12
|
+
def scores_by_week year, week
|
13
|
+
objects_from_response(Fantasydata::Score, :get, "/nfl/v2/JSON/ScoresByWeek/#{year}/#{week}")
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
class BoxScore < Fantasydata::Base
|
5
|
+
|
6
|
+
def away_defense
|
7
|
+
@away_defense ||= map_collection(Fantasydata::Boxscore::PlayerDefenseStat, :away_defense)
|
8
|
+
end
|
9
|
+
|
10
|
+
def away_fantasy_defense
|
11
|
+
@away_fantasy_defense ||= Fantasydata::Boxscore::TeamDefenseStat.new(@attrs[:away_fantasy_defense])
|
12
|
+
end
|
13
|
+
|
14
|
+
def away_kick_punt_returns
|
15
|
+
@away_kick_punt_returns ||= map_collection(Fantasydata::Boxscore::ReturnStat, :away_kick_punt_returns)
|
16
|
+
end
|
17
|
+
|
18
|
+
def away_kicking
|
19
|
+
@away_kicking ||= map_collection(Fantasydata::Boxscore::KickingStat, :away_kicking)
|
20
|
+
end
|
21
|
+
|
22
|
+
def away_passing
|
23
|
+
@away_passing ||= map_collection(Fantasydata::Boxscore::PassingStat, :away_passing)
|
24
|
+
end
|
25
|
+
|
26
|
+
def away_punting
|
27
|
+
@away_punting ||= map_collection(Fantasydata::Boxscore::PuntingStat, :away_punting)
|
28
|
+
end
|
29
|
+
|
30
|
+
def away_receiving
|
31
|
+
@away_receiving ||= map_collection(Fantasydata::Boxscore::ReceivingStat, :away_receiving)
|
32
|
+
end
|
33
|
+
|
34
|
+
def away_rushing
|
35
|
+
@away_rushing ||= map_collection(Fantasydata::Boxscore::RushingStat, :away_rushing)
|
36
|
+
end
|
37
|
+
|
38
|
+
def game
|
39
|
+
@game ||= Fantasydata::GameStat.new(@attrs[:game])
|
40
|
+
end
|
41
|
+
|
42
|
+
def home_defense
|
43
|
+
@home_defense ||= map_collection(Fantasydata::Boxscore::PlayerDefenseStat, :home_defense)
|
44
|
+
end
|
45
|
+
|
46
|
+
def home_fantasy_defense
|
47
|
+
@home_fantasy_defense ||= Fantasydata::Boxscore::TeamDefenseStat.new(@attrs[:home_fantasy_defense])
|
48
|
+
end
|
49
|
+
|
50
|
+
def home_kick_punt_returns
|
51
|
+
@home_kick_punt_returns ||= map_collection(Fantasydata::Boxscore::ReturnStat, :home_kick_punt_returns)
|
52
|
+
end
|
53
|
+
|
54
|
+
def home_kicking
|
55
|
+
@home_kicking ||= map_collection(Fantasydata::Boxscore::KickingStat, :home_kicking)
|
56
|
+
end
|
57
|
+
|
58
|
+
def home_passing
|
59
|
+
@home_passing ||= map_collection(Fantasydata::Boxscore::PassingStat, :home_passing)
|
60
|
+
end
|
61
|
+
|
62
|
+
def home_punting
|
63
|
+
@home_punting ||= map_collection(Fantasydata::Boxscore::PuntingStat, :home_punting)
|
64
|
+
end
|
65
|
+
|
66
|
+
def home_receiving
|
67
|
+
@home_receiving ||= map_collection(Fantasydata::Boxscore::ReceivingStat, :home_receiving)
|
68
|
+
end
|
69
|
+
|
70
|
+
def home_rushing
|
71
|
+
@home_rushing ||= map_collection(Fantasydata::Boxscore::RushingStat, :home_rushing)
|
72
|
+
end
|
73
|
+
|
74
|
+
def score
|
75
|
+
@score ||= Fantasydata::Boxscore::Score.new(@attrs[:score])
|
76
|
+
end
|
77
|
+
|
78
|
+
def scoring_details
|
79
|
+
@scoring_details ||= map_collection(Fantasydata::ScoringDetail, :scoring_details)
|
80
|
+
end
|
81
|
+
|
82
|
+
def scoring_plays
|
83
|
+
@scoring_plays ||= map_collection(Fantasydata::Boxscore::ScoringPlay, :scoring_plays)
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class KickingStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :extra_points_attempted,
|
9
|
+
:extra_points_made, :field_goal_percentage,
|
10
|
+
:field_goals_attempted, :field_goals_longest_made, :field_goals_made
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class PassingStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :passing_attempts,
|
9
|
+
:passing_completion_percentage, :passing_completions,
|
10
|
+
:passing_interceptions, :passing_long, :passing_rating,
|
11
|
+
:passing_sack_yards, :passing_sacks, :passing_touchdowns,
|
12
|
+
:passing_yards, :passing_yards_per_attempt,
|
13
|
+
:passing_yards_per_completion, :two_point_conversion_passes
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class PlayerDefenseStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :assisted_tackles,
|
9
|
+
:fumble_return_touchdowns, :fumbles_forced, :fumbles_recovered,
|
10
|
+
:interception_return_touchdowns, :interception_return_yards,
|
11
|
+
:interceptions, :passes_defended, :quarterback_hits, :sack_yards,
|
12
|
+
:sacks, :solo_tackles, :tackles, :tackles_for_loss
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class PuntingStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :punt_average, :punt_inside20,
|
9
|
+
:punt_touchbacks, :punt_yards, :punts
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class ReceivingStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :fumbles_lost, :receiving_long,
|
9
|
+
:receiving_targets, :receiving_touchdowns, :receiving_yards,
|
10
|
+
:receiving_yards_per_reception, :receiving_yards_per_target,
|
11
|
+
:reception_percentage, :receptions, :two_point_conversion_receptions
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class ReturnStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :kick_return_long,
|
9
|
+
:kick_return_touchdowns, :kick_return_yards,
|
10
|
+
:kick_return_yards_per_attempt, :kick_returns,
|
11
|
+
:punt_return_long, :punt_return_touchdowns,
|
12
|
+
:punt_return_yards, :punt_return_yards_per_attempt, :punt_returns
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class RushingStat < Fantasydata::Base
|
6
|
+
attr_reader :player_game_id, :player_id, :short_name, :name, :team,
|
7
|
+
:number, :position, :position_category, :fantasy_position,
|
8
|
+
:fantasy_points, :updated, :fumbles_lost, :rushing_attempts,
|
9
|
+
:rushing_long, :rushing_touchdowns, :rushing_yards,
|
10
|
+
:rushing_yards_per_attempt, :two_point_conversion_runs
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class Score < Fantasydata::Base
|
6
|
+
attr_reader :stadium_details, :game_key, :season_type, :season, :week,
|
7
|
+
:date, :away_team, :home_team, :away_score, :home_score,
|
8
|
+
:channel, :point_spread, :over_under, :quarter, :time_remaining,
|
9
|
+
:possession, :down, :distance, :yard_line, :yard_line_territory,
|
10
|
+
:red_zone, :away_score_quarter1, :away_score_quarter2,
|
11
|
+
:away_score_quarter3, :away_score_quarter4, :away_score_overtime,
|
12
|
+
:home_score_quarter1, :home_score_quarter2, :home_score_quarter3,
|
13
|
+
:home_score_quarter4, :home_score_overtime, :has_started,
|
14
|
+
:is_in_progress, :is_over, :has1st_quarter_started,
|
15
|
+
:has2nd_quarter_started, :has3rd_quarter_started,
|
16
|
+
:has4th_quarter_started, :is_overtime, :down_and_distance,
|
17
|
+
:quarter_description, :stadium_id, :last_updated
|
18
|
+
|
19
|
+
def stadium
|
20
|
+
@stadium ||= Fantasydata::Stadium.new(@attrs[:stadium_details])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class ScoringPlay < Fantasydata::Base
|
6
|
+
attr_reader :game_key, :season_type, :scoring_play_id, :season,
|
7
|
+
:week, :away_team, :home_team, :date, :sequence, :team,
|
8
|
+
:quarter, :time_remaining, :play_description, :away_score, :home_score
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'fantasydata/base'
|
2
|
+
|
3
|
+
module Fantasydata
|
4
|
+
module Boxscore
|
5
|
+
class TeamDefenseStat < Fantasydata::Base
|
6
|
+
attr_reader :scoring_details, :game_key, :season_type, :season, :week,
|
7
|
+
:date, :team, :opponent, :points_allowed, :touchdowns_scored,
|
8
|
+
:solo_tackles, :assisted_tackles, :sacks, :sack_yards,
|
9
|
+
:passes_defended, :fumbles_forced, :fumbles_recovered,
|
10
|
+
:fumble_return_yards, :fumble_return_touchdowns, :interceptions,
|
11
|
+
:interception_return_yards, :interception_return_touchdowns,
|
12
|
+
:blocked_kicks, :safeties, :punt_returns, :punt_return_yards,
|
13
|
+
:punt_return_touchdowns, :punt_return_long, :kick_returns,
|
14
|
+
:kick_return_yards, :kick_return_touchdowns, :kick_return_long,
|
15
|
+
:blocked_kick_return_touchdowns, :field_goal_return_touchdowns,
|
16
|
+
:fantasy_points_allowed, :quarterback_fantasy_points_allowed,
|
17
|
+
:runningback_fantasy_points_allowed,
|
18
|
+
:wide_receiver_fantasy_points_allowed,
|
19
|
+
:tight_end_fantasy_points_allowed, :kicker_fantasy_points_allowed,
|
20
|
+
:blocked_kick_return_yards, :field_goal_return_yards,
|
21
|
+
:quarterback_hits, :tackles_for_loss, :defensive_touchdowns,
|
22
|
+
:special_teams_touchdowns, :is_game_over, :fantasy_points,
|
23
|
+
:stadium, :temperature, :humidity, :wind_speed, :third_down_attempts,
|
24
|
+
:third_down_conversions, :fourth_down_attempts,
|
25
|
+
:fourth_down_conversions, :points_allowed_by_defense_special_teams,
|
26
|
+
:fan_duel_salary, :draft_kings_salary, :fantasy_data_salary,
|
27
|
+
:victiv_salary
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|