sports_data_api 0.15.0 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/sports_data_api/merged_stats.rb +5 -0
- data/lib/sports_data_api/nfl/team.rb +19 -5
- data/lib/sports_data_api/version.rb +1 -1
- data/spec/cassettes/sports_data_api_nfl_team.yml +1176 -0
- data/spec/lib/sports_data_api/merged_stats_spec.rb +14 -0
- data/spec/lib/sports_data_api/nfl/team_spec.rb +29 -19
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07f6aa2548068b6f74a06b0bda9eb6fffd2e422b0d3a5295c7eba744207a4788
|
4
|
+
data.tar.gz: b9cc63e395efdf1a7ad01090341731640bffdeac47c832a4ec3a45dbbc4e9ce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f482f859858ad07ca7787ffcd7fb3804ea42a6f541810ae4e747c0005516a6f991fd667d886a1a1b7da9f8babf89b223da8d36b6482ebf1f7ae3cd0cd3e58409
|
7
|
+
data.tar.gz: 3a71cb9e7fd68ad00eab45db25df95d9f1c04a78d0dfbaefcccd2255354d5256b22c293eb64a0dd36653f42a7b843eafa33d1c70bbe660c90a74e5de56379c99
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.15.1
|
4
|
+
* [#92](https://github.com/RLovelett/sports_data_api/pull/92) [FIX] NFL extra points stats
|
5
|
+
* [#93](https://github.com/RLovelett/sports_data_api/pull/93) [Feature] Stats have #fetch like hash
|
6
|
+
|
3
7
|
## v0.15.0
|
4
8
|
* [#91](https://github.com/RLovelett/sports_data_api/pull/91) Adds V2 NFL Support
|
5
9
|
|
@@ -42,6 +42,7 @@ module SportsDataApi
|
|
42
42
|
private
|
43
43
|
|
44
44
|
PLAYER_KEYS = %w[id name jersey reference position].freeze
|
45
|
+
EXTRA_POINTS_KEY = 'extra_points'.freeze
|
45
46
|
|
46
47
|
attr_reader :json
|
47
48
|
|
@@ -56,15 +57,28 @@ module SportsDataApi
|
|
56
57
|
def players_from_stats
|
57
58
|
statistics.each_with_object({}) do |(key, data), players|
|
58
59
|
next unless data.is_a?(Hash)
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
if key == EXTRA_POINTS_KEY
|
61
|
+
data.each do |nested_key, nested_data|
|
62
|
+
nested_data.fetch('players', []).each do |player_json|
|
63
|
+
category = player_json.delete('category') || nested_key
|
64
|
+
add_stat(players, player_json, "#{key}_#{category}")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
else
|
68
|
+
data.fetch('players', []).each do |player_json|
|
69
|
+
add_stat(players, player_json, key)
|
70
|
+
end
|
64
71
|
end
|
65
72
|
end
|
66
73
|
end
|
67
74
|
|
75
|
+
def add_stat(players, player_json, key)
|
76
|
+
base, stats = split_player_json(player_json)
|
77
|
+
player = players[player_json['id']] || base
|
78
|
+
player['statistics'][key] = stats
|
79
|
+
players[player['id']] = player
|
80
|
+
end
|
81
|
+
|
68
82
|
def split_player_json(player_json)
|
69
83
|
player = { 'statistics' => {} }
|
70
84
|
stats = {}
|