stattleship-ruby 0.1.19
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 +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.rubocop.yml +263 -0
- data/.ruby-version +1 -0
- data/.travis.yml +8 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +15 -0
- data/LICENSE +1 -0
- data/README.md +75 -0
- data/Rakefile +1 -0
- data/bin/console +7 -0
- data/bin/game_log_officials +32 -0
- data/bin/game_logs +69 -0
- data/bin/games +42 -0
- data/bin/in_progress +19 -0
- data/bin/injuries +18 -0
- data/bin/officials +42 -0
- data/bin/players +45 -0
- data/bin/scoreboard +43 -0
- data/bin/setup +7 -0
- data/bin/stat_leaders +25 -0
- data/bin/team_game_logs +35 -0
- data/bin/teams +29 -0
- data/bin/top_stats +25 -0
- data/bin/total_player_stat +33 -0
- data/bin/total_team_stat +22 -0
- data/examples/README.md +118 -0
- data/examples/baseball_feats.rb +35 -0
- data/examples/baseball_games.rb +32 -0
- data/examples/baseball_player_game_logs.rb +33 -0
- data/examples/baseball_stat_leaders.rb +30 -0
- data/examples/basketball_game_logs.rb +33 -0
- data/examples/basketball_injuries.rb +36 -0
- data/examples/basketball_season_player_performance_rankings.rb +31 -0
- data/examples/basketball_stat_leaders.rb +40 -0
- data/examples/basketball_team_game_logs.rb +38 -0
- data/examples/basketball_top_stats.rb +43 -0
- data/examples/basketball_winning_streaks.rb +27 -0
- data/examples/bears_team_game_logs.rb +46 -0
- data/examples/football_feats.rb +49 -0
- data/examples/football_game_logs.rb +40 -0
- data/examples/football_players.rb +43 -0
- data/examples/football_stats.rb +50 -0
- data/examples/football_total_player_stat.rb +32 -0
- data/examples/hockey_games.rb +56 -0
- data/examples/hockey_penalties.rb +47 -0
- data/examples/hockey_scoring_plays.rb +55 -0
- data/examples/hockey_team_ranked_streaks.rb +27 -0
- data/examples/hockey_teams.rb +54 -0
- data/examples/hockey_total_team_stat.rb +32 -0
- data/examples/sample.env +2 -0
- data/lib/stattleship.rb +117 -0
- data/lib/stattleship/baseball_feats.rb +15 -0
- data/lib/stattleship/baseball_game_logs.rb +159 -0
- data/lib/stattleship/baseball_games.rb +15 -0
- data/lib/stattleship/baseball_injuries.rb +15 -0
- data/lib/stattleship/baseball_penalties.rb +15 -0
- data/lib/stattleship/baseball_players.rb +15 -0
- data/lib/stattleship/baseball_scoring_plays.rb +15 -0
- data/lib/stattleship/baseball_stat_leaders.rb +15 -0
- data/lib/stattleship/baseball_stats.rb +15 -0
- data/lib/stattleship/baseball_team_game_logs.rb +142 -0
- data/lib/stattleship/baseball_team_outcome_streaks.rb +15 -0
- data/lib/stattleship/baseball_teams.rb +15 -0
- data/lib/stattleship/baseball_top_stats.rb +15 -0
- data/lib/stattleship/baseball_total_player_stat.rb +15 -0
- data/lib/stattleship/baseball_total_team_stat.rb +15 -0
- data/lib/stattleship/basketball_feats.rb +15 -0
- data/lib/stattleship/basketball_game_logs.rb +111 -0
- data/lib/stattleship/basketball_games.rb +15 -0
- data/lib/stattleship/basketball_injuries.rb +15 -0
- data/lib/stattleship/basketball_penalties.rb +15 -0
- data/lib/stattleship/basketball_players.rb +15 -0
- data/lib/stattleship/basketball_scoring_plays.rb +15 -0
- data/lib/stattleship/basketball_stat_leaders.rb +15 -0
- data/lib/stattleship/basketball_stats.rb +15 -0
- data/lib/stattleship/basketball_team_game_logs.rb +113 -0
- data/lib/stattleship/basketball_team_outcome_streaks.rb +15 -0
- data/lib/stattleship/basketball_teams.rb +15 -0
- data/lib/stattleship/basketball_top_stats.rb +15 -0
- data/lib/stattleship/basketball_total_player_stat.rb +15 -0
- data/lib/stattleship/basketball_total_team_stat.rb +15 -0
- data/lib/stattleship/client/client.rb +101 -0
- data/lib/stattleship/client/configuration.rb +42 -0
- data/lib/stattleship/endpoint.rb +208 -0
- data/lib/stattleship/feats.rb +150 -0
- data/lib/stattleship/football_feats.rb +15 -0
- data/lib/stattleship/football_game_logs.rb +255 -0
- data/lib/stattleship/football_games.rb +15 -0
- data/lib/stattleship/football_injuries.rb +15 -0
- data/lib/stattleship/football_penalties.rb +15 -0
- data/lib/stattleship/football_players.rb +15 -0
- data/lib/stattleship/football_scoring_plays.rb +15 -0
- data/lib/stattleship/football_stat_leaders.rb +15 -0
- data/lib/stattleship/football_stats.rb +15 -0
- data/lib/stattleship/football_team_game_logs.rb +176 -0
- data/lib/stattleship/football_team_outcome_streaks.rb +15 -0
- data/lib/stattleship/football_teams.rb +15 -0
- data/lib/stattleship/football_top_stats.rb +15 -0
- data/lib/stattleship/football_total_player_stat.rb +15 -0
- data/lib/stattleship/football_total_team_stat.rb +15 -0
- data/lib/stattleship/formatters/stat_formatter.rb +28 -0
- data/lib/stattleship/game_logs.rb +97 -0
- data/lib/stattleship/games.rb +38 -0
- data/lib/stattleship/hockey_feats.rb +15 -0
- data/lib/stattleship/hockey_game_logs.rb +107 -0
- data/lib/stattleship/hockey_games.rb +15 -0
- data/lib/stattleship/hockey_injuries.rb +15 -0
- data/lib/stattleship/hockey_penalties.rb +32 -0
- data/lib/stattleship/hockey_players.rb +15 -0
- data/lib/stattleship/hockey_scoring_plays.rb +15 -0
- data/lib/stattleship/hockey_stat_leaders.rb +15 -0
- data/lib/stattleship/hockey_stats.rb +15 -0
- data/lib/stattleship/hockey_team_game_logs.rb +128 -0
- data/lib/stattleship/hockey_team_outcome_streaks.rb +15 -0
- data/lib/stattleship/hockey_teams.rb +15 -0
- data/lib/stattleship/hockey_top_stats.rb +15 -0
- data/lib/stattleship/hockey_total_player_stat.rb +15 -0
- data/lib/stattleship/hockey_total_team_stat.rb +15 -0
- data/lib/stattleship/injuries.rb +32 -0
- data/lib/stattleship/models.rb +19 -0
- data/lib/stattleship/models/game.rb +360 -0
- data/lib/stattleship/models/injury.rb +22 -0
- data/lib/stattleship/models/league.rb +35 -0
- data/lib/stattleship/models/official.rb +20 -0
- data/lib/stattleship/models/penalty.rb +133 -0
- data/lib/stattleship/models/player.rb +124 -0
- data/lib/stattleship/models/playing_position.rb +17 -0
- data/lib/stattleship/models/ranking.rb +96 -0
- data/lib/stattleship/models/scoring_play.rb +201 -0
- data/lib/stattleship/models/scoring_player.rb +22 -0
- data/lib/stattleship/models/season.rb +18 -0
- data/lib/stattleship/models/team.rb +78 -0
- data/lib/stattleship/models/team_outcome_streak.rb +88 -0
- data/lib/stattleship/models/venue.rb +32 -0
- data/lib/stattleship/params.rb +102 -0
- data/lib/stattleship/params/baseball_feats_params.rb +6 -0
- data/lib/stattleship/params/baseball_game_logs_params.rb +6 -0
- data/lib/stattleship/params/baseball_games_params.rb +6 -0
- data/lib/stattleship/params/baseball_injuries_params.rb +6 -0
- data/lib/stattleship/params/baseball_penalties_params.rb +6 -0
- data/lib/stattleship/params/baseball_players_params.rb +6 -0
- data/lib/stattleship/params/baseball_scoring_plays_params.rb +6 -0
- data/lib/stattleship/params/baseball_stat_leaders_params.rb +6 -0
- data/lib/stattleship/params/baseball_stats_params.rb +6 -0
- data/lib/stattleship/params/baseball_team_game_logs_params.rb +6 -0
- data/lib/stattleship/params/baseball_team_outcome_streaks_params.rb +9 -0
- data/lib/stattleship/params/baseball_team_stats_params.rb +10 -0
- data/lib/stattleship/params/baseball_teams_params.rb +6 -0
- data/lib/stattleship/params/baseball_top_stats_params.rb +6 -0
- data/lib/stattleship/params/baseball_total_player_stat_params.rb +6 -0
- data/lib/stattleship/params/baseball_total_team_stat_params.rb +11 -0
- data/lib/stattleship/params/basketball_feats_params.rb +6 -0
- data/lib/stattleship/params/basketball_game_logs_params.rb +6 -0
- data/lib/stattleship/params/basketball_games_params.rb +6 -0
- data/lib/stattleship/params/basketball_injuries_params.rb +6 -0
- data/lib/stattleship/params/basketball_penalties_params.rb +6 -0
- data/lib/stattleship/params/basketball_players_params.rb +6 -0
- data/lib/stattleship/params/basketball_scoring_plays_params.rb +6 -0
- data/lib/stattleship/params/basketball_stat_leaders_params.rb +6 -0
- data/lib/stattleship/params/basketball_stats_params.rb +6 -0
- data/lib/stattleship/params/basketball_team_game_logs_params.rb +6 -0
- data/lib/stattleship/params/basketball_team_outcome_streaks_params.rb +9 -0
- data/lib/stattleship/params/basketball_team_stats_params.rb +10 -0
- data/lib/stattleship/params/basketball_teams_params.rb +6 -0
- data/lib/stattleship/params/basketball_top_stats_params.rb +6 -0
- data/lib/stattleship/params/basketball_total_player_stat_params.rb +6 -0
- data/lib/stattleship/params/basketball_total_team_stat_params.rb +11 -0
- data/lib/stattleship/params/feats_params.rb +23 -0
- data/lib/stattleship/params/football_feats_params.rb +6 -0
- data/lib/stattleship/params/football_game_logs_params.rb +11 -0
- data/lib/stattleship/params/football_games_params.rb +6 -0
- data/lib/stattleship/params/football_injuries_params.rb +6 -0
- data/lib/stattleship/params/football_penalties_params.rb +6 -0
- data/lib/stattleship/params/football_players_params.rb +6 -0
- data/lib/stattleship/params/football_scoring_plays_params.rb +6 -0
- data/lib/stattleship/params/football_stat_leaders_params.rb +6 -0
- data/lib/stattleship/params/football_stats_params.rb +6 -0
- data/lib/stattleship/params/football_team_game_logs_params.rb +6 -0
- data/lib/stattleship/params/football_team_outcome_streaks_params.rb +9 -0
- data/lib/stattleship/params/football_team_stats_params.rb +10 -0
- data/lib/stattleship/params/football_teams_params.rb +6 -0
- data/lib/stattleship/params/football_top_stats_params.rb +6 -0
- data/lib/stattleship/params/football_total_player_stat_params.rb +6 -0
- data/lib/stattleship/params/football_total_team_stat_params.rb +11 -0
- data/lib/stattleship/params/game_logs_params.rb +13 -0
- data/lib/stattleship/params/game_time_params.rb +17 -0
- data/lib/stattleship/params/games_params.rb +13 -0
- data/lib/stattleship/params/hockey_feats_params.rb +6 -0
- data/lib/stattleship/params/hockey_game_logs_params.rb +6 -0
- data/lib/stattleship/params/hockey_games_params.rb +6 -0
- data/lib/stattleship/params/hockey_injuries_params.rb +6 -0
- data/lib/stattleship/params/hockey_penalties_params.rb +6 -0
- data/lib/stattleship/params/hockey_players_params.rb +6 -0
- data/lib/stattleship/params/hockey_scoring_plays_params.rb +6 -0
- data/lib/stattleship/params/hockey_stat_leaders_params.rb +6 -0
- data/lib/stattleship/params/hockey_stats_params.rb +6 -0
- data/lib/stattleship/params/hockey_team_game_logs_params.rb +6 -0
- data/lib/stattleship/params/hockey_team_outcome_streaks_params.rb +9 -0
- data/lib/stattleship/params/hockey_team_stats_params.rb +10 -0
- data/lib/stattleship/params/hockey_teams_params.rb +6 -0
- data/lib/stattleship/params/hockey_top_stats_params.rb +6 -0
- data/lib/stattleship/params/hockey_total_player_stat_params.rb +6 -0
- data/lib/stattleship/params/hockey_total_team_stat_params.rb +11 -0
- data/lib/stattleship/params/injuries_params.rb +11 -0
- data/lib/stattleship/params/penalties_params.rb +11 -0
- data/lib/stattleship/params/players_params.rb +12 -0
- data/lib/stattleship/params/query_params.rb +50 -0
- data/lib/stattleship/params/rankings_params.rb +15 -0
- data/lib/stattleship/params/scoring_plays_params.rb +12 -0
- data/lib/stattleship/params/stat_leaders_params.rb +17 -0
- data/lib/stattleship/params/stats_params.rb +17 -0
- data/lib/stattleship/params/team_game_logs_params.rb +12 -0
- data/lib/stattleship/params/team_outcome_streaks_params.rb +24 -0
- data/lib/stattleship/params/teams_params.rb +9 -0
- data/lib/stattleship/params/top_stats_params.rb +17 -0
- data/lib/stattleship/params/total_player_stat_params.rb +17 -0
- data/lib/stattleship/params/total_team_stat_params.rb +18 -0
- data/lib/stattleship/penalties.rb +26 -0
- data/lib/stattleship/players.rb +26 -0
- data/lib/stattleship/rankings.rb +51 -0
- data/lib/stattleship/scoring_plays.rb +30 -0
- data/lib/stattleship/stat_leaders.rb +43 -0
- data/lib/stattleship/stats.rb +76 -0
- data/lib/stattleship/team_game_logs.rb +90 -0
- data/lib/stattleship/team_outcome_streaks.rb +28 -0
- data/lib/stattleship/teams.rb +20 -0
- data/lib/stattleship/top_stats.rb +58 -0
- data/lib/stattleship/total_player_stat.rb +37 -0
- data/lib/stattleship/total_team_stat.rb +30 -0
- data/lib/stattleship/validators.rb +33 -0
- data/lib/stattleship/validators/base_validator.rb +117 -0
- data/lib/stattleship/validators/birth_date_validator.rb +9 -0
- data/lib/stattleship/validators/current_validator.rb +9 -0
- data/lib/stattleship/validators/feat_validator.rb +9 -0
- data/lib/stattleship/validators/game_id_validator.rb +9 -0
- data/lib/stattleship/validators/interval_type_validator.rb +9 -0
- data/lib/stattleship/validators/level_up_validator.rb +9 -0
- data/lib/stattleship/validators/level_validator.rb +16 -0
- data/lib/stattleship/validators/on_validator.rb +9 -0
- data/lib/stattleship/validators/outcome_validator.rb +9 -0
- data/lib/stattleship/validators/page_validator.rb +9 -0
- data/lib/stattleship/validators/penalty_validator.rb +9 -0
- data/lib/stattleship/validators/per_page_validator.rb +9 -0
- data/lib/stattleship/validators/place_validator.rb +9 -0
- data/lib/stattleship/validators/player_id_validator.rb +9 -0
- data/lib/stattleship/validators/rank_validator.rb +9 -0
- data/lib/stattleship/validators/ranked_validator.rb +9 -0
- data/lib/stattleship/validators/ranking_validator.rb +9 -0
- data/lib/stattleship/validators/scoring_method_validator.rb +9 -0
- data/lib/stattleship/validators/scoring_type_validator.rb +9 -0
- data/lib/stattleship/validators/season_id_validator.rb +9 -0
- data/lib/stattleship/validators/since_validator.rb +9 -0
- data/lib/stattleship/validators/stat_validator.rb +23 -0
- data/lib/stattleship/validators/status_validator.rb +16 -0
- data/lib/stattleship/validators/streak_length_validator.rb +9 -0
- data/lib/stattleship/validators/team_id_validator.rb +9 -0
- data/lib/stattleship/validators/type_validator.rb +9 -0
- data/lib/stattleship/validators/week_validator.rb +9 -0
- data/lib/stattleship/version.rb +5 -0
- data/sample.env +1 -0
- data/stattleship-ruby.gemspec +33 -0
- metadata +503 -0
data/bin/total_team_stat
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'stattleship'
|
5
|
+
|
6
|
+
params = Stattleship::Params::BasketballTotalTeamStatParams.new
|
7
|
+
params.stat = 'free_throws_attempted'
|
8
|
+
params.team_id = 'nba-gs'
|
9
|
+
|
10
|
+
puts Stattleship::BasketballTotalTeamStat.fetch(params: params).to_sentence
|
11
|
+
|
12
|
+
params = Stattleship::Params::FootballTotalTeamStatParams.new
|
13
|
+
params.stat = 'passing_touchdowns'
|
14
|
+
params.team_id = 'nfl-ne'
|
15
|
+
|
16
|
+
puts Stattleship::FootballTotalTeamStat.fetch(params: params).to_sentence
|
17
|
+
|
18
|
+
params = Stattleship::Params::HockeyTotalTeamStatParams.new
|
19
|
+
params.stat = 'shots'
|
20
|
+
params.team_id = 'nhl-bos'
|
21
|
+
|
22
|
+
puts Stattleship::HockeyTotalTeamStat.fetch(params: params).to_sentence
|
data/examples/README.md
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
# Examples
|
2
|
+
|
3
|
+
Making Stattleship API calls is dead simple.
|
4
|
+
|
5
|
+
* Build and set parameters
|
6
|
+
* Use that to fetch data
|
7
|
+
* Use fully populated PORO's
|
8
|
+
|
9
|
+
The pattern is pretty much as follows:
|
10
|
+
|
11
|
+
```
|
12
|
+
query_params = Stattleship::Params::BasketballGameLogsParams.new
|
13
|
+
query_params.player_id = 'nba-stephen-curry'
|
14
|
+
query_params.since = '1 week ago'
|
15
|
+
game_logs = Stattleship::BasketballGameLogs.fetch(params: query_params)
|
16
|
+
pp game_logs.first
|
17
|
+
```
|
18
|
+
|
19
|
+
**That's it.**
|
20
|
+
|
21
|
+
Just repeat for other sports (ie, `HockeyGameLogsParams` and `HockeyGameLogs`) or other endpoints (`FootballPlayersParams` and `FootballPlayers`) etc.
|
22
|
+
|
23
|
+
The `fetch` call will automatically traverse the paginated response and you'll get easy to use PORO's of data specific to that model.
|
24
|
+
|
25
|
+
There's validation, too, on the params to make sure you set just the ones it accepts. Ie, you can't make a call to `FootballPlayers` with a player that whose slug doesn't start with `nfl-` and things like that.
|
26
|
+
|
27
|
+
## Prerequisites
|
28
|
+
|
29
|
+
You'll need
|
30
|
+
|
31
|
+
* Stattleship API Access Token from https://www.stattleship.com
|
32
|
+
* Set that in your `.env` file as `STATTLESHIP_ACCESS_TOKEN=your_token`
|
33
|
+
* To run examples, that .env file should be the the `/examples` dir.
|
34
|
+
* Copy the `sample.env` file, insert your token and save as `examples/.env`
|
35
|
+
* The `cd` to the `/examples` directory and `ruby <example>.rb` such that the .env loads
|
36
|
+
|
37
|
+
## Code
|
38
|
+
|
39
|
+
* [Basketball Game Logs](basketball_game_logs.rb)
|
40
|
+
* Uses `BasketballGameLogsParams` and makes a `BasketballGameLogs` request
|
41
|
+
* Use the `player_id` and `since` parameters to get Stephen Curry's game logs for the past week
|
42
|
+
|
43
|
+
* [Football Game Logs](basketball_game_logs.rb)
|
44
|
+
* Uses `FootballGameLogsParams` and makes a `FootballGameLogs` request
|
45
|
+
* Use the `player_id`, `inteval_type` and `since` parameters to get Cam Newton's game logs for the past weeks by specifying the interval type (divisionplayoffs, conferencechampionships, etc)
|
46
|
+
|
47
|
+
* [Hockey Games](hockey_games.rb)
|
48
|
+
* Uses `HockeyGamesParams` and makes a `HockeyGames` request
|
49
|
+
* Uses the `status` and `since` parameters to return ended Chicago Blackhawk games
|
50
|
+
* Demonstrates `started_at` is a proper DateTime and renders `scoreline`s
|
51
|
+
|
52
|
+
* [Football Feats](football_feats.rb)
|
53
|
+
* Uses `FootballFeatsParams` and makes a `FootballFeats` request
|
54
|
+
* Uses `player_id` and `level_up` parameters to return Cam Newton regular season accomplishments
|
55
|
+
|
56
|
+
* [Basketball Injuries](basketball_injuries.rb)
|
57
|
+
* Uses `BasketballInjuriesParams` and makes a `BasketballInjuries` request
|
58
|
+
* Use the `team_id` and `since` to get Spurs injuries and show the injury note and its injury location (knee, back, etc)
|
59
|
+
|
60
|
+
* [Hockey Penalties](hockey_penalties.rb)
|
61
|
+
* Uses `HockeyPenaltiesParams` and makes a `HockeyPenalties` request
|
62
|
+
* Uses the `status` and `since` parameters to return penalties for ended Buffalo Sabres games in last 2 weeks
|
63
|
+
* Demonstrates `minutes` is a proper Integer and renders a friendly-readable sentence describing the penalty
|
64
|
+
|
65
|
+
* [Football Players](football_players.rb)
|
66
|
+
* Uses `FootballPlayersParams` and makes a `FootballPlayers` request
|
67
|
+
* Uses `team_id` and `level_up` parameters to return Denver Broncos players
|
68
|
+
* Demonstrates ability to filter and sort on a numeric `salary` to get list of players making more than $5M and where they went to `school`
|
69
|
+
|
70
|
+
* [Hockey Scoring Plays](hockey_scoring_plays.rb)
|
71
|
+
* Uses `HockeyScoringPlaysParams` and makes a `HockeyScoringPlays` request
|
72
|
+
* Uses the `status` and `since` parameters to return scoring plays for ended Dallas Stars games in last month
|
73
|
+
* Demonstrates can access an array of players who assisted on each goal
|
74
|
+
|
75
|
+
* [Basketball Injuries](basketball_injuries.rb)
|
76
|
+
* Uses `BasketballStatLeadersParams` and makes a `BasketballStatLeaders` request
|
77
|
+
* Use the `type`, `stat` and `place` parameters get the top 5 three point leaders (with ties)
|
78
|
+
|
79
|
+
* [Football Stats](football_stats.rb)
|
80
|
+
* Uses `FootballStatsParams` and makes a `FootballStats` request
|
81
|
+
* Use the `type`, `stat` and `player_id` parameters get Aaron Rodgers TDs thrown in each game
|
82
|
+
* Demonstrates ability to get `game`-specific data per stat, such as `weather_conditions`
|
83
|
+
|
84
|
+
* [Basketball Team Game Logs](basketball_team_game_logs.rb)
|
85
|
+
* Uses `BasketballTeamGameLogsParams` and makes a `BasketballTeamGameLogs` request
|
86
|
+
* Use the `team_id` and `since` parameters to get Cavaliers team game logs for the past week
|
87
|
+
|
88
|
+
* [Football Total Player Stats](football_total_player_stat.rb)
|
89
|
+
* Uses `FootballTotalPlayerStatParams` and makes a `FootballTotalPlayerStat` request
|
90
|
+
* Use the `player_id`, `type` and `stat` parameters to Adrian Peterson's total number of rushing attempts in the regular season
|
91
|
+
* Demonstrates a fully populated player, so can access his `weight` etc
|
92
|
+
|
93
|
+
* [Hockey Total Team Stats](hockey_total_team_stat.rb)
|
94
|
+
* Uses `HockeyTotalTeamStatParams` and makes a `HockeyTotalTeamStat` request
|
95
|
+
* Use the `team_id` and `stat` parameters to the total number of third period goals the Canadiens has scored
|
96
|
+
|
97
|
+
* [Basketball Top Stats](basketball_top_stats.rb)
|
98
|
+
* Uses `BasketballTopStatsParams` and makes a `BasketballTopStats` request
|
99
|
+
* Use the `type`, `stat`, and `place` parameters to return the 3 best (highest) offensive rebounding performances in NBA
|
100
|
+
* Demonstrates a fully populated game, so know when this was accomplished
|
101
|
+
|
102
|
+
* [Basketball Winning Streaks](basketball_winning_streaks.rb)
|
103
|
+
* Uses `BasketballTeamOutcomeStreaksParams` and makes a `BasketballTeamOutcomeStreaks` request
|
104
|
+
* Use the `outcome` and `current` parameters to return winning streaks that filters to those more than 2 games in length
|
105
|
+
* Demonstrates a fully populated streak
|
106
|
+
|
107
|
+
* [Hockey Ranked Streaks](hockey_team_ranked_streaks.rb)
|
108
|
+
* Uses `HockeyTeamOutcomeStreaksParams` and makes a `HockeyTeamOutcomeStreaks` request
|
109
|
+
* Use the `team_id` and `ranked` parameters to the top 3 ranked streaks in length
|
110
|
+
* Demonstrates a fully populated streak with season and league
|
111
|
+
|
112
|
+
* [Game Officials](officials.rb)
|
113
|
+
* Uses games params and request for each sport
|
114
|
+
* Demonstrates a fully populated list of officials for each game
|
115
|
+
|
116
|
+
* [Game Log Officials](officials.rb)
|
117
|
+
* Uses game_log and team_game_log params and request for Hockey
|
118
|
+
* Demonstrates a fully populated list of officials for each game on the game_log
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BaseballFeatsParams.new
|
12
|
+
|
13
|
+
# use a slug, typically 'league-firstname-lastname'
|
14
|
+
query_params.interval_type = 'preseason'
|
15
|
+
query_params.season_id = 'mlb-2016'
|
16
|
+
query_params.level_up = 3
|
17
|
+
query_params.since = '1 week ago'
|
18
|
+
|
19
|
+
# fetch will automatically traverse the paginated response links
|
20
|
+
feats = Stattleship::BaseballFeats.fetch(params: query_params)
|
21
|
+
|
22
|
+
# the populated object
|
23
|
+
pp feats.first
|
24
|
+
|
25
|
+
# can access friendly helpers
|
26
|
+
pp feats.first.to_sentence
|
27
|
+
|
28
|
+
# ""
|
29
|
+
|
30
|
+
# or, individual attributes
|
31
|
+
feats.each do |feat|
|
32
|
+
pp "#{feat.actual.to_i} #{feat.name} #{feat.humanized_stat_type} #{feat.vs}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# ...
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BaseballGamesParams.new
|
12
|
+
|
13
|
+
# use a slug, typically 'league-team_abbreviation'
|
14
|
+
query_params.team_id = 'mlb-bos'
|
15
|
+
|
16
|
+
# may need to adjust this depending on time of year
|
17
|
+
query_params.season_id = 'mlb-2016'
|
18
|
+
query_params.status = 'upcoming'
|
19
|
+
|
20
|
+
# fetch will automatically traverse the paginated response links
|
21
|
+
games = Stattleship::BaseballGames.fetch(params: query_params)
|
22
|
+
|
23
|
+
# the populated object
|
24
|
+
pp games.first
|
25
|
+
|
26
|
+
# can access friendly helpers
|
27
|
+
pp games.first.started_at.strftime('%b %e, %l:%M %p')
|
28
|
+
|
29
|
+
# or, individual attributes
|
30
|
+
games.each do |game|
|
31
|
+
pp game.scoreline
|
32
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BaseballGameLogsParams.new
|
12
|
+
|
13
|
+
# use a slug
|
14
|
+
|
15
|
+
query_params.player_id = 'mlb-pablo-sandoval'
|
16
|
+
query_params.season_id = 'mlb-2015'
|
17
|
+
query_params.interval_type = 'regularseason'
|
18
|
+
query_params.since = '1 year ago'
|
19
|
+
|
20
|
+
# fetch will automatically traverse the paginated response links
|
21
|
+
game_logs = Stattleship::BaseballGameLogs.fetch(params: query_params)
|
22
|
+
|
23
|
+
# the populated object
|
24
|
+
pp game_logs.first
|
25
|
+
|
26
|
+
# can access friendly helpers
|
27
|
+
pp game_logs.first.to_sentence
|
28
|
+
|
29
|
+
# or, individual attributes
|
30
|
+
game_logs.each do |game_log|
|
31
|
+
pp game_log.to_sentence
|
32
|
+
end
|
33
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BaseballStatLeadersParams.new
|
12
|
+
|
13
|
+
query_params.type = 'baseball_hitter_stat'
|
14
|
+
query_params.stat = 'home_runs'
|
15
|
+
query_params.place = 3
|
16
|
+
|
17
|
+
# fetch will automatically traverse the paginated response links
|
18
|
+
stat_leaders = Stattleship::BaseballStatLeaders.fetch(params: query_params)
|
19
|
+
|
20
|
+
# the populated object
|
21
|
+
pp stat_leaders.first
|
22
|
+
|
23
|
+
# can access friendly helpers
|
24
|
+
pp stat_leaders.first.to_sentence
|
25
|
+
|
26
|
+
|
27
|
+
# or, individual attributes
|
28
|
+
stat_leaders.each do |stat_leader|
|
29
|
+
pp "#{stat_leader.place} - #{stat_leader.player_name} with #{stat_leader.stat.to_i} HR"
|
30
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BasketballGameLogsParams.new
|
12
|
+
|
13
|
+
# use a slug, typically 'league-firstname-lastname'
|
14
|
+
query_params.player_id = 'nba-stephen-curry'
|
15
|
+
|
16
|
+
# may need to adjust this depending on time of year/NBA season
|
17
|
+
query_params.since = '1 week ago'
|
18
|
+
|
19
|
+
# fetch will automatically traverse the paginated response links
|
20
|
+
game_logs = Stattleship::BasketballGameLogs.fetch(params: query_params)
|
21
|
+
|
22
|
+
# the populated object
|
23
|
+
pp game_logs.first
|
24
|
+
|
25
|
+
# can access friendly helpers
|
26
|
+
pp game_logs.first.to_sentence
|
27
|
+
|
28
|
+
# "Stephen Curry 8 FGM, 44.4 FG%, 25 PTS, 7 RBD, 11 A, 2 STL, 1 BLK (Warriors vs Bulls January 20, 2016 at 7:00pm)"
|
29
|
+
|
30
|
+
# or, individual attributes
|
31
|
+
game_logs.each do |game_log|
|
32
|
+
pp game_log.three_pointers_made
|
33
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BasketballInjuriesParams.new
|
12
|
+
|
13
|
+
# use a slug, typically 'league-team_abbreviation'
|
14
|
+
query_params.team_id = 'nba-sa'
|
15
|
+
|
16
|
+
# fetch will automatically traverse the paginated response links
|
17
|
+
injuries = Stattleship::BasketballInjuries.fetch(params: query_params)
|
18
|
+
|
19
|
+
# the populated object
|
20
|
+
pp injuries.first
|
21
|
+
|
22
|
+
# or, individual attributes
|
23
|
+
pp injuries.first.note
|
24
|
+
|
25
|
+
# "Duncan missed last game due to soreness in his right knee and will not suit up against the Rockets on Wednesday."
|
26
|
+
|
27
|
+
injuries.each do |injury|
|
28
|
+
pp injury.location_name
|
29
|
+
end
|
30
|
+
|
31
|
+
# "Knee"
|
32
|
+
# "Back"
|
33
|
+
# "Hip"
|
34
|
+
# "Hip"
|
35
|
+
# "Rest"
|
36
|
+
# ...
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::RankingsParams.new
|
12
|
+
|
13
|
+
# use a slug
|
14
|
+
|
15
|
+
query_params.ranking = 'basketball_season_player_performance_ranking'
|
16
|
+
query_params.place = 10
|
17
|
+
|
18
|
+
# fetch will automatically traverse the paginated response links
|
19
|
+
rankings = Stattleship::Rankings.fetch(params: query_params)
|
20
|
+
|
21
|
+
# the populated object
|
22
|
+
pp rankings.first
|
23
|
+
|
24
|
+
# can access friendly helpers
|
25
|
+
pp rankings.first.player_name
|
26
|
+
|
27
|
+
# or, individual attributes
|
28
|
+
rankings.each do |ranking|
|
29
|
+
pp ranking.to_sentence
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BasketballStatLeadersParams.new
|
12
|
+
|
13
|
+
# the stat must belong to the type, see: http://playbook.stattleship.com/#basketball-stats for a list
|
14
|
+
query_params.type = 'basketball_offensive_stat'
|
15
|
+
query_params.stat = 'three_pointers_made'
|
16
|
+
query_params.place = 5
|
17
|
+
|
18
|
+
# fetch will automatically traverse the paginated response links
|
19
|
+
stat_leaders = Stattleship::BasketballStatLeaders.fetch(params: query_params)
|
20
|
+
|
21
|
+
# the populated object
|
22
|
+
pp stat_leaders.first
|
23
|
+
|
24
|
+
# can access friendly helpers
|
25
|
+
pp stat_leaders.first.to_sentence
|
26
|
+
|
27
|
+
# "Stephen Curry is in first place with 210 three_pointers_made"
|
28
|
+
|
29
|
+
# or, individual attributes
|
30
|
+
stat_leaders.each do |stat_leader|
|
31
|
+
pp "#{stat_leader.place} - #{stat_leader.player_name} with #{stat_leader.stat.to_i} threes"
|
32
|
+
end
|
33
|
+
|
34
|
+
# "1 - Stephen Curry with 210 threes"
|
35
|
+
# "2 - Klay Thompson with 133 threes"
|
36
|
+
# "3 - Paul George with 128 threes"
|
37
|
+
# "3 - James Harden with 128 threes"
|
38
|
+
# "4 - Kyle Lowry with 125 threes"
|
39
|
+
# "5 - Damian Lillard with 121 threes"
|
40
|
+
# ...
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Set your STATTLESHIP_ACCESS_TOKEN from https://www.stattleship.com in the examples/.env file
|
2
|
+
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load
|
5
|
+
|
6
|
+
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require File.join(dir, 'stattleship')
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
# Construct params for the fetch
|
11
|
+
query_params = Stattleship::Params::BasketballTeamGameLogsParams.new
|
12
|
+
|
13
|
+
# use a slug, typically 'league-team_abbreviation'
|
14
|
+
query_params.team_id = 'nba-cle'
|
15
|
+
|
16
|
+
# may need to adjust this depending on time of year/NBA season
|
17
|
+
query_params.since = '1 week ago'
|
18
|
+
|
19
|
+
# fetch will automatically traverse the paginated response links
|
20
|
+
game_logs = Stattleship::BasketballTeamGameLogs.fetch(params: query_params)
|
21
|
+
|
22
|
+
# the populated object
|
23
|
+
pp game_logs.first
|
24
|
+
|
25
|
+
# can access friendly helpers
|
26
|
+
pp game_logs.first.to_sentence
|
27
|
+
|
28
|
+
# "Cleveland 42 FGM, 50.6 FG%, 115 PTS, 33 DRB, 14 ORB, 47 REB (Clippers vs Cavaliers January 21, 2016 at 8:00pm)"
|
29
|
+
|
30
|
+
# or, individual attributes
|
31
|
+
game_logs.each do |game_log|
|
32
|
+
pp game_log.three_pointers_made
|
33
|
+
end
|
34
|
+
|
35
|
+
# 13
|
36
|
+
# 11
|
37
|
+
# 4
|
38
|
+
# 5
|