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.
Files changed (264) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +263 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +8 -0
  7. data/CODE_OF_CONDUCT.md +13 -0
  8. data/Gemfile +15 -0
  9. data/LICENSE +1 -0
  10. data/README.md +75 -0
  11. data/Rakefile +1 -0
  12. data/bin/console +7 -0
  13. data/bin/game_log_officials +32 -0
  14. data/bin/game_logs +69 -0
  15. data/bin/games +42 -0
  16. data/bin/in_progress +19 -0
  17. data/bin/injuries +18 -0
  18. data/bin/officials +42 -0
  19. data/bin/players +45 -0
  20. data/bin/scoreboard +43 -0
  21. data/bin/setup +7 -0
  22. data/bin/stat_leaders +25 -0
  23. data/bin/team_game_logs +35 -0
  24. data/bin/teams +29 -0
  25. data/bin/top_stats +25 -0
  26. data/bin/total_player_stat +33 -0
  27. data/bin/total_team_stat +22 -0
  28. data/examples/README.md +118 -0
  29. data/examples/baseball_feats.rb +35 -0
  30. data/examples/baseball_games.rb +32 -0
  31. data/examples/baseball_player_game_logs.rb +33 -0
  32. data/examples/baseball_stat_leaders.rb +30 -0
  33. data/examples/basketball_game_logs.rb +33 -0
  34. data/examples/basketball_injuries.rb +36 -0
  35. data/examples/basketball_season_player_performance_rankings.rb +31 -0
  36. data/examples/basketball_stat_leaders.rb +40 -0
  37. data/examples/basketball_team_game_logs.rb +38 -0
  38. data/examples/basketball_top_stats.rb +43 -0
  39. data/examples/basketball_winning_streaks.rb +27 -0
  40. data/examples/bears_team_game_logs.rb +46 -0
  41. data/examples/football_feats.rb +49 -0
  42. data/examples/football_game_logs.rb +40 -0
  43. data/examples/football_players.rb +43 -0
  44. data/examples/football_stats.rb +50 -0
  45. data/examples/football_total_player_stat.rb +32 -0
  46. data/examples/hockey_games.rb +56 -0
  47. data/examples/hockey_penalties.rb +47 -0
  48. data/examples/hockey_scoring_plays.rb +55 -0
  49. data/examples/hockey_team_ranked_streaks.rb +27 -0
  50. data/examples/hockey_teams.rb +54 -0
  51. data/examples/hockey_total_team_stat.rb +32 -0
  52. data/examples/sample.env +2 -0
  53. data/lib/stattleship.rb +117 -0
  54. data/lib/stattleship/baseball_feats.rb +15 -0
  55. data/lib/stattleship/baseball_game_logs.rb +159 -0
  56. data/lib/stattleship/baseball_games.rb +15 -0
  57. data/lib/stattleship/baseball_injuries.rb +15 -0
  58. data/lib/stattleship/baseball_penalties.rb +15 -0
  59. data/lib/stattleship/baseball_players.rb +15 -0
  60. data/lib/stattleship/baseball_scoring_plays.rb +15 -0
  61. data/lib/stattleship/baseball_stat_leaders.rb +15 -0
  62. data/lib/stattleship/baseball_stats.rb +15 -0
  63. data/lib/stattleship/baseball_team_game_logs.rb +142 -0
  64. data/lib/stattleship/baseball_team_outcome_streaks.rb +15 -0
  65. data/lib/stattleship/baseball_teams.rb +15 -0
  66. data/lib/stattleship/baseball_top_stats.rb +15 -0
  67. data/lib/stattleship/baseball_total_player_stat.rb +15 -0
  68. data/lib/stattleship/baseball_total_team_stat.rb +15 -0
  69. data/lib/stattleship/basketball_feats.rb +15 -0
  70. data/lib/stattleship/basketball_game_logs.rb +111 -0
  71. data/lib/stattleship/basketball_games.rb +15 -0
  72. data/lib/stattleship/basketball_injuries.rb +15 -0
  73. data/lib/stattleship/basketball_penalties.rb +15 -0
  74. data/lib/stattleship/basketball_players.rb +15 -0
  75. data/lib/stattleship/basketball_scoring_plays.rb +15 -0
  76. data/lib/stattleship/basketball_stat_leaders.rb +15 -0
  77. data/lib/stattleship/basketball_stats.rb +15 -0
  78. data/lib/stattleship/basketball_team_game_logs.rb +113 -0
  79. data/lib/stattleship/basketball_team_outcome_streaks.rb +15 -0
  80. data/lib/stattleship/basketball_teams.rb +15 -0
  81. data/lib/stattleship/basketball_top_stats.rb +15 -0
  82. data/lib/stattleship/basketball_total_player_stat.rb +15 -0
  83. data/lib/stattleship/basketball_total_team_stat.rb +15 -0
  84. data/lib/stattleship/client/client.rb +101 -0
  85. data/lib/stattleship/client/configuration.rb +42 -0
  86. data/lib/stattleship/endpoint.rb +208 -0
  87. data/lib/stattleship/feats.rb +150 -0
  88. data/lib/stattleship/football_feats.rb +15 -0
  89. data/lib/stattleship/football_game_logs.rb +255 -0
  90. data/lib/stattleship/football_games.rb +15 -0
  91. data/lib/stattleship/football_injuries.rb +15 -0
  92. data/lib/stattleship/football_penalties.rb +15 -0
  93. data/lib/stattleship/football_players.rb +15 -0
  94. data/lib/stattleship/football_scoring_plays.rb +15 -0
  95. data/lib/stattleship/football_stat_leaders.rb +15 -0
  96. data/lib/stattleship/football_stats.rb +15 -0
  97. data/lib/stattleship/football_team_game_logs.rb +176 -0
  98. data/lib/stattleship/football_team_outcome_streaks.rb +15 -0
  99. data/lib/stattleship/football_teams.rb +15 -0
  100. data/lib/stattleship/football_top_stats.rb +15 -0
  101. data/lib/stattleship/football_total_player_stat.rb +15 -0
  102. data/lib/stattleship/football_total_team_stat.rb +15 -0
  103. data/lib/stattleship/formatters/stat_formatter.rb +28 -0
  104. data/lib/stattleship/game_logs.rb +97 -0
  105. data/lib/stattleship/games.rb +38 -0
  106. data/lib/stattleship/hockey_feats.rb +15 -0
  107. data/lib/stattleship/hockey_game_logs.rb +107 -0
  108. data/lib/stattleship/hockey_games.rb +15 -0
  109. data/lib/stattleship/hockey_injuries.rb +15 -0
  110. data/lib/stattleship/hockey_penalties.rb +32 -0
  111. data/lib/stattleship/hockey_players.rb +15 -0
  112. data/lib/stattleship/hockey_scoring_plays.rb +15 -0
  113. data/lib/stattleship/hockey_stat_leaders.rb +15 -0
  114. data/lib/stattleship/hockey_stats.rb +15 -0
  115. data/lib/stattleship/hockey_team_game_logs.rb +128 -0
  116. data/lib/stattleship/hockey_team_outcome_streaks.rb +15 -0
  117. data/lib/stattleship/hockey_teams.rb +15 -0
  118. data/lib/stattleship/hockey_top_stats.rb +15 -0
  119. data/lib/stattleship/hockey_total_player_stat.rb +15 -0
  120. data/lib/stattleship/hockey_total_team_stat.rb +15 -0
  121. data/lib/stattleship/injuries.rb +32 -0
  122. data/lib/stattleship/models.rb +19 -0
  123. data/lib/stattleship/models/game.rb +360 -0
  124. data/lib/stattleship/models/injury.rb +22 -0
  125. data/lib/stattleship/models/league.rb +35 -0
  126. data/lib/stattleship/models/official.rb +20 -0
  127. data/lib/stattleship/models/penalty.rb +133 -0
  128. data/lib/stattleship/models/player.rb +124 -0
  129. data/lib/stattleship/models/playing_position.rb +17 -0
  130. data/lib/stattleship/models/ranking.rb +96 -0
  131. data/lib/stattleship/models/scoring_play.rb +201 -0
  132. data/lib/stattleship/models/scoring_player.rb +22 -0
  133. data/lib/stattleship/models/season.rb +18 -0
  134. data/lib/stattleship/models/team.rb +78 -0
  135. data/lib/stattleship/models/team_outcome_streak.rb +88 -0
  136. data/lib/stattleship/models/venue.rb +32 -0
  137. data/lib/stattleship/params.rb +102 -0
  138. data/lib/stattleship/params/baseball_feats_params.rb +6 -0
  139. data/lib/stattleship/params/baseball_game_logs_params.rb +6 -0
  140. data/lib/stattleship/params/baseball_games_params.rb +6 -0
  141. data/lib/stattleship/params/baseball_injuries_params.rb +6 -0
  142. data/lib/stattleship/params/baseball_penalties_params.rb +6 -0
  143. data/lib/stattleship/params/baseball_players_params.rb +6 -0
  144. data/lib/stattleship/params/baseball_scoring_plays_params.rb +6 -0
  145. data/lib/stattleship/params/baseball_stat_leaders_params.rb +6 -0
  146. data/lib/stattleship/params/baseball_stats_params.rb +6 -0
  147. data/lib/stattleship/params/baseball_team_game_logs_params.rb +6 -0
  148. data/lib/stattleship/params/baseball_team_outcome_streaks_params.rb +9 -0
  149. data/lib/stattleship/params/baseball_team_stats_params.rb +10 -0
  150. data/lib/stattleship/params/baseball_teams_params.rb +6 -0
  151. data/lib/stattleship/params/baseball_top_stats_params.rb +6 -0
  152. data/lib/stattleship/params/baseball_total_player_stat_params.rb +6 -0
  153. data/lib/stattleship/params/baseball_total_team_stat_params.rb +11 -0
  154. data/lib/stattleship/params/basketball_feats_params.rb +6 -0
  155. data/lib/stattleship/params/basketball_game_logs_params.rb +6 -0
  156. data/lib/stattleship/params/basketball_games_params.rb +6 -0
  157. data/lib/stattleship/params/basketball_injuries_params.rb +6 -0
  158. data/lib/stattleship/params/basketball_penalties_params.rb +6 -0
  159. data/lib/stattleship/params/basketball_players_params.rb +6 -0
  160. data/lib/stattleship/params/basketball_scoring_plays_params.rb +6 -0
  161. data/lib/stattleship/params/basketball_stat_leaders_params.rb +6 -0
  162. data/lib/stattleship/params/basketball_stats_params.rb +6 -0
  163. data/lib/stattleship/params/basketball_team_game_logs_params.rb +6 -0
  164. data/lib/stattleship/params/basketball_team_outcome_streaks_params.rb +9 -0
  165. data/lib/stattleship/params/basketball_team_stats_params.rb +10 -0
  166. data/lib/stattleship/params/basketball_teams_params.rb +6 -0
  167. data/lib/stattleship/params/basketball_top_stats_params.rb +6 -0
  168. data/lib/stattleship/params/basketball_total_player_stat_params.rb +6 -0
  169. data/lib/stattleship/params/basketball_total_team_stat_params.rb +11 -0
  170. data/lib/stattleship/params/feats_params.rb +23 -0
  171. data/lib/stattleship/params/football_feats_params.rb +6 -0
  172. data/lib/stattleship/params/football_game_logs_params.rb +11 -0
  173. data/lib/stattleship/params/football_games_params.rb +6 -0
  174. data/lib/stattleship/params/football_injuries_params.rb +6 -0
  175. data/lib/stattleship/params/football_penalties_params.rb +6 -0
  176. data/lib/stattleship/params/football_players_params.rb +6 -0
  177. data/lib/stattleship/params/football_scoring_plays_params.rb +6 -0
  178. data/lib/stattleship/params/football_stat_leaders_params.rb +6 -0
  179. data/lib/stattleship/params/football_stats_params.rb +6 -0
  180. data/lib/stattleship/params/football_team_game_logs_params.rb +6 -0
  181. data/lib/stattleship/params/football_team_outcome_streaks_params.rb +9 -0
  182. data/lib/stattleship/params/football_team_stats_params.rb +10 -0
  183. data/lib/stattleship/params/football_teams_params.rb +6 -0
  184. data/lib/stattleship/params/football_top_stats_params.rb +6 -0
  185. data/lib/stattleship/params/football_total_player_stat_params.rb +6 -0
  186. data/lib/stattleship/params/football_total_team_stat_params.rb +11 -0
  187. data/lib/stattleship/params/game_logs_params.rb +13 -0
  188. data/lib/stattleship/params/game_time_params.rb +17 -0
  189. data/lib/stattleship/params/games_params.rb +13 -0
  190. data/lib/stattleship/params/hockey_feats_params.rb +6 -0
  191. data/lib/stattleship/params/hockey_game_logs_params.rb +6 -0
  192. data/lib/stattleship/params/hockey_games_params.rb +6 -0
  193. data/lib/stattleship/params/hockey_injuries_params.rb +6 -0
  194. data/lib/stattleship/params/hockey_penalties_params.rb +6 -0
  195. data/lib/stattleship/params/hockey_players_params.rb +6 -0
  196. data/lib/stattleship/params/hockey_scoring_plays_params.rb +6 -0
  197. data/lib/stattleship/params/hockey_stat_leaders_params.rb +6 -0
  198. data/lib/stattleship/params/hockey_stats_params.rb +6 -0
  199. data/lib/stattleship/params/hockey_team_game_logs_params.rb +6 -0
  200. data/lib/stattleship/params/hockey_team_outcome_streaks_params.rb +9 -0
  201. data/lib/stattleship/params/hockey_team_stats_params.rb +10 -0
  202. data/lib/stattleship/params/hockey_teams_params.rb +6 -0
  203. data/lib/stattleship/params/hockey_top_stats_params.rb +6 -0
  204. data/lib/stattleship/params/hockey_total_player_stat_params.rb +6 -0
  205. data/lib/stattleship/params/hockey_total_team_stat_params.rb +11 -0
  206. data/lib/stattleship/params/injuries_params.rb +11 -0
  207. data/lib/stattleship/params/penalties_params.rb +11 -0
  208. data/lib/stattleship/params/players_params.rb +12 -0
  209. data/lib/stattleship/params/query_params.rb +50 -0
  210. data/lib/stattleship/params/rankings_params.rb +15 -0
  211. data/lib/stattleship/params/scoring_plays_params.rb +12 -0
  212. data/lib/stattleship/params/stat_leaders_params.rb +17 -0
  213. data/lib/stattleship/params/stats_params.rb +17 -0
  214. data/lib/stattleship/params/team_game_logs_params.rb +12 -0
  215. data/lib/stattleship/params/team_outcome_streaks_params.rb +24 -0
  216. data/lib/stattleship/params/teams_params.rb +9 -0
  217. data/lib/stattleship/params/top_stats_params.rb +17 -0
  218. data/lib/stattleship/params/total_player_stat_params.rb +17 -0
  219. data/lib/stattleship/params/total_team_stat_params.rb +18 -0
  220. data/lib/stattleship/penalties.rb +26 -0
  221. data/lib/stattleship/players.rb +26 -0
  222. data/lib/stattleship/rankings.rb +51 -0
  223. data/lib/stattleship/scoring_plays.rb +30 -0
  224. data/lib/stattleship/stat_leaders.rb +43 -0
  225. data/lib/stattleship/stats.rb +76 -0
  226. data/lib/stattleship/team_game_logs.rb +90 -0
  227. data/lib/stattleship/team_outcome_streaks.rb +28 -0
  228. data/lib/stattleship/teams.rb +20 -0
  229. data/lib/stattleship/top_stats.rb +58 -0
  230. data/lib/stattleship/total_player_stat.rb +37 -0
  231. data/lib/stattleship/total_team_stat.rb +30 -0
  232. data/lib/stattleship/validators.rb +33 -0
  233. data/lib/stattleship/validators/base_validator.rb +117 -0
  234. data/lib/stattleship/validators/birth_date_validator.rb +9 -0
  235. data/lib/stattleship/validators/current_validator.rb +9 -0
  236. data/lib/stattleship/validators/feat_validator.rb +9 -0
  237. data/lib/stattleship/validators/game_id_validator.rb +9 -0
  238. data/lib/stattleship/validators/interval_type_validator.rb +9 -0
  239. data/lib/stattleship/validators/level_up_validator.rb +9 -0
  240. data/lib/stattleship/validators/level_validator.rb +16 -0
  241. data/lib/stattleship/validators/on_validator.rb +9 -0
  242. data/lib/stattleship/validators/outcome_validator.rb +9 -0
  243. data/lib/stattleship/validators/page_validator.rb +9 -0
  244. data/lib/stattleship/validators/penalty_validator.rb +9 -0
  245. data/lib/stattleship/validators/per_page_validator.rb +9 -0
  246. data/lib/stattleship/validators/place_validator.rb +9 -0
  247. data/lib/stattleship/validators/player_id_validator.rb +9 -0
  248. data/lib/stattleship/validators/rank_validator.rb +9 -0
  249. data/lib/stattleship/validators/ranked_validator.rb +9 -0
  250. data/lib/stattleship/validators/ranking_validator.rb +9 -0
  251. data/lib/stattleship/validators/scoring_method_validator.rb +9 -0
  252. data/lib/stattleship/validators/scoring_type_validator.rb +9 -0
  253. data/lib/stattleship/validators/season_id_validator.rb +9 -0
  254. data/lib/stattleship/validators/since_validator.rb +9 -0
  255. data/lib/stattleship/validators/stat_validator.rb +23 -0
  256. data/lib/stattleship/validators/status_validator.rb +16 -0
  257. data/lib/stattleship/validators/streak_length_validator.rb +9 -0
  258. data/lib/stattleship/validators/team_id_validator.rb +9 -0
  259. data/lib/stattleship/validators/type_validator.rb +9 -0
  260. data/lib/stattleship/validators/week_validator.rb +9 -0
  261. data/lib/stattleship/version.rb +5 -0
  262. data/sample.env +1 -0
  263. data/stattleship-ruby.gemspec +33 -0
  264. metadata +503 -0
@@ -0,0 +1,43 @@
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::BasketballTopStatsParams.new
12
+
13
+ # use a slug, typically 'league-team_abbreviation'
14
+ query_params.stat = 'rebounds_offensive'
15
+ query_params.type = 'basketball_rebounding_stat'
16
+ query_params.place = 3
17
+
18
+ # fetch will automatically traverse the paginated response links
19
+ top_stats = Stattleship::BasketballTopStats.fetch(params: query_params)
20
+
21
+ # the populated object
22
+ pp top_stats
23
+
24
+ # can access friendly helpers
25
+ pp top_stats.first.to_sentence
26
+
27
+ # "Tyson Chandler had 13 rebounds_offensive in Hawks vs Suns January 23, 2016 at 7:00pm for the first best performance"
28
+
29
+ # or, individual attributes
30
+ top_stats.each do |top_stat|
31
+ pp "#{top_stat.player.name} - #{top_stat.format_stat(top_stat.stat)} ORB - #{top_stat.place} best performance on #{top_stat.game.short_date}"
32
+ end
33
+
34
+ # "Tyson Chandler - 13 ORB - 1 best performance on 01/23/16"
35
+ # "Tristan Thompson - 11 ORB - 2 best performance on 12/17/15"
36
+ # "Andre Drummond - 11 ORB - 2 best performance on 12/11/15"
37
+ # "Andre Drummond - 11 ORB - 2 best performance on 11/ 3/15"
38
+ # "Dwight Howard - 10 ORB - 3 best performance on 01/18/16"
39
+ # "Trevor Booker - 10 ORB - 3 best performance on 12/30/15"
40
+ # "Ed Davis - 10 ORB - 3 best performance on 11/20/15"
41
+ # "Greg Monroe - 10 ORB - 3 best performance on 01/15/16"
42
+ # "Andre Drummond - 10 ORB - 3 best performance on 12/18/15"
43
+ # "Andre Drummond - 10 ORB - 3 best performance on 11/29/15"
@@ -0,0 +1,27 @@
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::BasketballTeamOutcomeStreaksParams.new
12
+ query_params.current = true
13
+ query_params.outcome = 'win'
14
+
15
+ # fetch will automatically traverse the paginated response links
16
+ streaks = Stattleship::BasketballTeamOutcomeStreaks.fetch(params: query_params)
17
+
18
+ # Atlanta Hawks are currently on a 2 game winning streak starting Mar 12
19
+ # Golden State Warriors are currently on a 5 game winning streak starting Mar 07
20
+ # Milwaukee Bucks are currently on a 3 game winning streak starting Mar 09
21
+ # San Antonio Spurs are currently on a 3 game winning streak starting Mar 08
22
+ # Utah Jazz are currently on a 3 game winning streak starting Mar 11
23
+
24
+ # or, individual attributes
25
+ streaks.each do |streak|
26
+ puts streak.to_sentence if streak.streak_length > 1
27
+ end
@@ -0,0 +1,46 @@
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
+ # params = Stattleship::Params::FootballTeamsParams.new
11
+
12
+ # team_slugs = Stattleship::FootballTeams.fetch(params: params).map(&:slug)
13
+
14
+ # team_slugs.each do |team_slug|
15
+ # # Construct params for the fetch
16
+ # query_params = Stattleship::Params::FootballTeamGameLogsParams.new
17
+
18
+ # # use a slug, typically 'league-team_abbreviation'
19
+ # query_params.team_id = team_slug
20
+ # query_params.interval_type = 'week'
21
+ # query_params.season_id = 'nfl-2015-2016'
22
+
23
+ # # fetch will automatically traverse the paginated response links
24
+ # game_logs = Stattleship::FootballTeamGameLogs.fetch(params: query_params)
25
+
26
+ # game_logs.each do |game_log|
27
+ # pp "#{game_log.team_name} #{game_log.game.interval}"
28
+ # end
29
+ # end
30
+
31
+
32
+ # Construct params for the fetch
33
+ query_params = Stattleship::Params::FootballTeamGameLogsParams.new
34
+
35
+ # use a slug, typically 'league-team_abbreviation'
36
+ # query_params.team_id = team_slug
37
+ query_params.interval_type = 'week'
38
+ query_params.season_id = 'nfl-2015-2016'
39
+ # query_params.per_page = 51
40
+
41
+ # fetch will automatically traverse the paginated response links
42
+ game_logs = Stattleship::FootballTeamGameLogs.fetch(params: query_params)
43
+
44
+ game_logs.each do |game_log|
45
+ pp "#{game_log.team_name} #{game_log.game.interval}"
46
+ end
@@ -0,0 +1,49 @@
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::FootballFeatsParams.new
12
+
13
+ query_params.season_id = 'nfl-2015-2016'
14
+
15
+ # use a slug, typically 'league-firstname-lastname'
16
+ query_params.player_id = 'nfl-cam-newton'
17
+ query_params.level_up = 2
18
+
19
+ # fetch will automatically traverse the paginated response links
20
+ feats = Stattleship::FootballFeats.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
+ # "Cam Newton threw a 59 yard-long pass vs. the Packers on Sunday November 8, 2015 at 1:00pm"
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
+ # "59 Cam Newton yard-long pass vs. the Packers"
36
+ # "55 Cam Newton yard-long pass vs. the Saints"
37
+ # "74 Cam Newton yard-long pass vs. the Falcons"
38
+ # "3 Cam Newton touchdowns vs. the Packers"
39
+ # "3 Cam Newton touchdowns vs. the Falcons"
40
+ # "5 Cam Newton touchdowns vs. the Redskins"
41
+ # "5 Cam Newton touchdowns vs. the Saints"
42
+ # "5 Cam Newton touchdowns vs. the Giants"
43
+ # "269 Cam Newton passing yards vs. the Seahawks"
44
+ # "248 Cam Newton passing yards vs. the Colts"
45
+ # "297 Cam Newton passing yards vs. the Packers"
46
+ # "246 Cam Newton passing yards vs. the Redskins"
47
+ # "331 Cam Newton passing yards vs. the Saints"
48
+ # "265 Cam Newton passing yards vs. the Falcons"
49
+ # ...
@@ -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::FootballGameLogsParams.new
12
+
13
+ # use a slug, typically 'league-firstname-lastname'
14
+ query_params.player_id = 'nfl-cam-newton'
15
+
16
+ # may need to adjust this depending on time of year/NFL season
17
+ query_params.since = '1 month ago'
18
+ # query_params.interval_type = 'conferencechampionships'
19
+ # query_params.interval_type = 'divisionalplayoffs'
20
+ # query_params.interval_type = 'wildcard'
21
+ # query_params.interval_type = 'week'
22
+ # query_params.interval_type = 'preseason'
23
+
24
+ # fetch will automatically traverse the paginated response links
25
+ game_logs = Stattleship::FootballGameLogs.fetch(params: query_params)
26
+
27
+ # the populated object
28
+ pp game_logs.first
29
+
30
+ # can access friendly helpers
31
+ pp game_logs.first.to_sentence
32
+
33
+ # "Cam Newton 139 RTG, 21 CMP, 293 YDS, 2 TD, 6 R, 10 RYDS, 2 RTD, 12 PTS (Buccaneers vs Panthers January 3, 2016 at 4:25pm)"
34
+
35
+ # or, individual attributes
36
+ game_logs.each do |game_log|
37
+ pp game_log.passes_touchdowns
38
+ end
39
+
40
+ # 2
@@ -0,0 +1,43 @@
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::FootballPlayersParams.new
12
+
13
+ # use a slug, typically 'league-team_abbreviation'
14
+ query_params.team_id = 'nfl-den'
15
+
16
+ # fetch will automatically traverse the paginated response links
17
+ players = Stattleship::FootballPlayers.fetch(params: query_params)
18
+
19
+ # the populated object
20
+ pp players.first
21
+
22
+ # can access friendly helpers
23
+ pp players.first.label
24
+
25
+ # "C.J. Anderson (OT) - Broncos"
26
+
27
+ # or, individual attributes
28
+ players.select { |p| p.salary.to_i > 5_000_000 }.
29
+ sort { |a, b| a[:salary] <=> b[:salary] }.
30
+ reverse.
31
+ each do |player|
32
+ pp "#{player.name} #{player.humanized_salary} #{player.salary_currency} #{player.school}"
33
+ end
34
+
35
+ # "Peyton Manning 17,500,000 USD Tennessee"
36
+ # "Demaryius Thomas 13,200,000 USD Georgia Tech "
37
+ # "Ryan Clady 10,600,000 USD Boise State"
38
+ # "Von Miller 9,754,000 USD Texas A&M"
39
+ # "Demarcus Ware 8,666,666 USD Troy"
40
+ # "T.J. Ward 7,514,705 USD Oregon"
41
+ # "Aqib Talib 6,968,750 USD Kansas"
42
+ # "Louis Vasquez 6,250,000 USD Texas Tech"
43
+ # "Emmanuel Sanders 5,850,000 USD Southern Methodist"
@@ -0,0 +1,50 @@
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::FootballStatsParams.new
12
+
13
+ # the stat must belong to the type, see: http://playbook.stattleship.com/#basketball-stats for a list
14
+ query_params.player_id = 'nfl-aaron-rodgers'
15
+ query_params.type = 'football_passing_stat'
16
+ query_params.stat = 'passes_touchdowns'
17
+
18
+ # fetch will automatically traverse the paginated response links
19
+ stats = Stattleship::FootballStats.fetch(params: query_params)
20
+
21
+ # the populated object
22
+ pp stats.first
23
+
24
+ # can access friendly helpers
25
+ pp stats.first.to_sentence
26
+
27
+ # "Aaron Rodgers had 1 passes_touchdowns on Vikings vs Packers January 3, 2016 at 7:30pm"
28
+
29
+ # or, individual attributes
30
+ stats.each do |stat|
31
+ pp "#{stat.name} threw #{stat.stat.to_i} TD in a #{stat.game.weather_conditions} game"
32
+ end
33
+
34
+ # "Aaron Rodgers threw 1 TD in a cloudy game"
35
+ # "Aaron Rodgers threw 1 TD in a dome game"
36
+ # "Aaron Rodgers threw 1 TD in a cloudy game"
37
+ # "Aaron Rodgers threw 2 TD in a heavy-rain game"
38
+ # "Aaron Rodgers threw 2 TD in a dome game"
39
+ # "Aaron Rodgers threw 1 TD in a light-rain game"
40
+ # "Aaron Rodgers threw 2 TD in a cloudy game"
41
+ # "Aaron Rodgers threw 2 TD in a sunny game"
42
+ # "Aaron Rodgers threw 4 TD in a cloudy game"
43
+ # "Aaron Rodgers threw 0 TD in a partly-cloudy game"
44
+ # "Aaron Rodgers threw 2 TD in a sunny game"
45
+ # "Aaron Rodgers threw 2 TD in a sunny game"
46
+ # "Aaron Rodgers threw 1 TD in a sunny game"
47
+ # "Aaron Rodgers threw 5 TD in a light-rain game"
48
+ # "Aaron Rodgers threw 2 TD in a sunny game"
49
+ # "Aaron Rodgers threw 3 TD in a sunny game"
50
+ # ...
@@ -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::FootballTotalPlayerStatParams.new
12
+
13
+ # use a slug, typically 'league-firstname-lastname'
14
+ query_params.player_id = 'nfl-adrian-peterson'
15
+ query_params.type = 'football_rushing_stat'
16
+ query_params.stat = 'rushes_attempts'
17
+
18
+ # fetch will automatically traverse the paginated response links
19
+ total_stat = Stattleship::FootballTotalPlayerStat.fetch(params: query_params)
20
+
21
+ # the populated object
22
+ pp total_stat
23
+
24
+ # can access friendly helpers
25
+ pp total_stat.to_sentence
26
+
27
+ # "Adrian Peterson has 327 rushes_attempts"
28
+
29
+ # or, individual attributes
30
+ pp "#{total_stat.player.last_name} weighs #{total_stat.player.weight} #{total_stat.player.unit_of_weight} and had #{total_stat.total.to_i} rushes"
31
+
32
+ # "Peterson weighs 220 pounds and had 327 rushes"
@@ -0,0 +1,56 @@
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::HockeyGamesParams.new
12
+
13
+ # use a slug, typically 'league-team_abbreviation'
14
+ query_params.team_id = 'nhl-chi'
15
+
16
+ # may need to adjust this depending on time of year
17
+ query_params.status = 'ended'
18
+ query_params.since = '2 weeks ago'
19
+
20
+ # fetch will automatically traverse the paginated response links
21
+ games = Stattleship::HockeyGames.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
+ # "Jan 26, 7:30 PM"
30
+
31
+ # or, individual attributes
32
+ games.each do |game|
33
+ pp game.scoreline
34
+ pp game.winning_scoreline
35
+ pp game.losing_scoreline
36
+ end
37
+
38
+ # "Coyotes 2 - Blackhawks 6"
39
+ # "Blackhawks 6 - Coyotes 2"
40
+ # "Coyotes 2 - Blackhawks 6"
41
+ # "Bruins 4 - Blackhawks 6"
42
+ # "Blackhawks 6 - Bruins 4"
43
+ # "Bruins 4 - Blackhawks 6"
44
+ # "Blackhawks 5 - Jets 4"
45
+ # "Blackhawks 5 - Jets 4"
46
+ # "Jets 4 - Blackhawks 5"
47
+ # "Blackhawks 1 - Wild 4"
48
+ # "Wild 4 - Blackhawks 1"
49
+ # "Blackhawks 1 - Wild 4"
50
+ # "Blackhawks 3 - Canucks 2"
51
+ # "Blackhawks 3 - Canucks 2"
52
+ # "Canucks 2 - Blackhawks 3"
53
+ # "Blackhawks 4 - Flames 1"
54
+ # "Blackhawks 4 - Flames 1"
55
+ # "Flames 1 - Blackhawks 4"
56
+ # ...
@@ -0,0 +1,47 @@
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::HockeyPenaltiesParams.new
12
+
13
+ # use a slug, typically 'league-team_abbreviation'
14
+ query_params.team_id = 'nhl-buf'
15
+
16
+ # may need to adjust this depending on time of year
17
+ query_params.status = 'ended'
18
+ query_params.since = '2 weeks ago'
19
+
20
+ # fetch will automatically traverse the paginated response links
21
+ penalties = Stattleship::HockeyPenalties.fetch(params: query_params)
22
+
23
+ # the populated object
24
+ pp penalties.first
25
+
26
+ # can access friendly helpers
27
+ pp penalties.first.to_sentence
28
+
29
+ # "Zach Bogosian (Buffalo) - Slashing - 2 minutes - 11:39 of 1P - vs Ottawa 01/26/16"
30
+
31
+ # or, individual attributes
32
+ penalties.each do |penalty|
33
+ pp penalty.minutes
34
+ end
35
+
36
+ # 2
37
+ # 5
38
+ # 2
39
+ # 2
40
+ # 2
41
+ # 2
42
+ # 2
43
+ # 2
44
+ # 2
45
+ # 2
46
+ # 4
47
+ # ...
@@ -0,0 +1,55 @@
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::HockeyScoringPlaysParams.new
12
+
13
+ # use a slug, typically 'league-team_abbreviation'
14
+ query_params.team_id = 'nhl-dal'
15
+
16
+ # may need to adjust this depending on time of year
17
+ query_params.since = 'last month'
18
+ query_params.status = 'ended'
19
+
20
+ # fetch will automatically traverse the paginated response links
21
+ scoring_plays = Stattleship::HockeyScoringPlays.fetch(params: query_params)
22
+
23
+ # the populated object
24
+ pp scoring_plays.first
25
+
26
+ # can access friendly helpers
27
+ pp scoring_plays.first.to_sentence
28
+
29
+ # "Jamie Benn (Valeri Nichushkin, Alex Goligoski) - 02:43 of 2P - vs Calgary 01/25/16"
30
+
31
+ # or, individual attributes
32
+ scoring_plays.each do |scoring_play|
33
+ pp scoring_play.assists.map(&:player_name)
34
+ end
35
+
36
+ # ["Valeri Nichushkin", "Alex Goligoski"]
37
+ # ["John Klingberg", "Patrick Sharp"]
38
+ # ["Antoine Roussel", "Ales Hemsky"]
39
+ # ["Johnny Oduya"]
40
+ # ["Patrick Sharp", "John Klingberg"]
41
+ # ["Cody Eakin", "Jason Spezza"]
42
+ # ["Mattias Janmark", "Antoine Roussel"]
43
+ # ["Patrick Sharp", "Valeri Nichushkin"]
44
+ # ["Mattias Janmark", "Antoine Roussel"]
45
+ # ["Jamie Benn"]
46
+ # ["Jamie Benn", "Tyler Seguin"]
47
+ # ["Travis Moen"]
48
+ # ["Jason Spezza", "Jason Demers"]
49
+ # ["Patrick Sharp", "Jason Spezza"]
50
+ # ["Patrick Sharp", "Mattias Janmark"]
51
+ # ["Jason Spezza", "Alex Goligoski"]
52
+ # ["Patrick Sharp", "Jason Spezza"]
53
+ # ["Radek Faksa", "Travis Moen"]
54
+ # ["Alex Goligoski", "John Klingberg"]
55
+ # ...