ahl_scraper 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +49 -0
- data/Gemfile +8 -8
- data/Gemfile.lock +46 -41
- data/ahl_scraper.gemspec +1 -1
- data/lib/ahl_scraper/fetchers/game_data_fetcher.rb +1 -1
- data/lib/ahl_scraper/fetchers/player_data_fetcher.rb +1 -1
- data/lib/ahl_scraper/fetchers/player_games/data_fetcher.rb +1 -1
- data/lib/ahl_scraper/fetchers/season_type_fetcher.rb +1 -2
- data/lib/ahl_scraper/fixed_games/1001050.json +18 -18
- data/lib/ahl_scraper/fixed_games/1003351.json +2728 -0
- data/lib/ahl_scraper/fixed_games/1018774.json +4 -4
- data/lib/ahl_scraper/fixed_games/1020527.json +8 -8
- data/lib/ahl_scraper/resources/game.rb +4 -3
- data/lib/ahl_scraper/resources/game_list_item.rb +13 -13
- data/lib/ahl_scraper/resources/games/info.rb +1 -1
- data/lib/ahl_scraper/resources/games/penalty.rb +2 -2
- data/lib/ahl_scraper/resources/games/team.rb +2 -2
- data/lib/ahl_scraper/resources/goalie_game_list_item.rb +2 -1
- data/lib/ahl_scraper/resources/player.rb +2 -2
- data/lib/ahl_scraper/resources/playoff_bracket.rb +5 -5
- data/lib/ahl_scraper/resources/playoff_brackets/round.rb +1 -1
- data/lib/ahl_scraper/resources/playoff_brackets/series.rb +60 -20
- data/lib/ahl_scraper/resources/roster_player.rb +1 -1
- data/lib/ahl_scraper/resources/season.rb +13 -8
- data/lib/ahl_scraper/resources/season_list_item.rb +2 -2
- data/lib/ahl_scraper/resources/seasons/team.rb +4 -3
- data/lib/ahl_scraper/resources/skater_game_list_item.rb +2 -2
- data/lib/ahl_scraper/resources/team_game_list_item.rb +2 -3
- data/lib/ahl_scraper/resources/team_list_item.rb +1 -1
- data/lib/ahl_scraper/services/games/create_skaters_service.rb +1 -1
- data/lib/ahl_scraper/services/games/on_ice_statlines_service.rb +1 -1
- data/lib/ahl_scraper/services/games/scoring_statlines_service.rb +29 -25
- data/lib/ahl_scraper/services/games/team_on_ice_goals_service.rb +1 -1
- data/lib/ahl_scraper/team_games.rb +3 -1
- data/lib/ahl_scraper/version.rb +1 -1
- metadata +5 -4
@@ -1438,7 +1438,7 @@
|
|
1438
1438
|
],
|
1439
1439
|
"penalties": [
|
1440
1440
|
{
|
1441
|
-
"game_penalty_id":
|
1441
|
+
"game_penalty_id": 219032,
|
1442
1442
|
"period": { "id": "1", "shortName": "", "longName": "1st" },
|
1443
1443
|
"time": "11:54",
|
1444
1444
|
"againstTeam": {
|
@@ -1473,7 +1473,7 @@
|
|
1473
1473
|
"isBench": false
|
1474
1474
|
},
|
1475
1475
|
{
|
1476
|
-
"game_penalty_id":
|
1476
|
+
"game_penalty_id": 219034,
|
1477
1477
|
"period": { "id": "1", "shortName": "", "longName": "1st" },
|
1478
1478
|
"time": "16:43",
|
1479
1479
|
"againstTeam": {
|
@@ -2057,7 +2057,7 @@
|
|
2057
2057
|
],
|
2058
2058
|
"penalties": [
|
2059
2059
|
{
|
2060
|
-
"game_penalty_id":
|
2060
|
+
"game_penalty_id": 219045,
|
2061
2061
|
"period": { "id": "2", "shortName": "", "longName": "2nd" },
|
2062
2062
|
"time": "17:58",
|
2063
2063
|
"againstTeam": {
|
@@ -2381,7 +2381,7 @@
|
|
2381
2381
|
],
|
2382
2382
|
"penalties": [
|
2383
2383
|
{
|
2384
|
-
"game_penalty_id":
|
2384
|
+
"game_penalty_id": 219082,
|
2385
2385
|
"period": { "id": "3", "shortName": "", "longName": "3rd" },
|
2386
2386
|
"time": "4:19",
|
2387
2387
|
"againstTeam": {
|
@@ -1768,7 +1768,7 @@
|
|
1768
1768
|
],
|
1769
1769
|
"penalties": [
|
1770
1770
|
{
|
1771
|
-
"game_penalty_id":
|
1771
|
+
"game_penalty_id": 237213,
|
1772
1772
|
"period": { "id": "2", "shortName": "", "longName": "2nd" },
|
1773
1773
|
"time": "2:08",
|
1774
1774
|
"againstTeam": {
|
@@ -1803,7 +1803,7 @@
|
|
1803
1803
|
"isBench": false
|
1804
1804
|
},
|
1805
1805
|
{
|
1806
|
-
"game_penalty_id":
|
1806
|
+
"game_penalty_id": 237215,
|
1807
1807
|
"period": { "id": "2", "shortName": "", "longName": "2nd" },
|
1808
1808
|
"time": "4:52",
|
1809
1809
|
"againstTeam": {
|
@@ -1831,7 +1831,7 @@
|
|
1831
1831
|
"isBench": true
|
1832
1832
|
},
|
1833
1833
|
{
|
1834
|
-
"game_penalty_id":
|
1834
|
+
"game_penalty_id": 237217,
|
1835
1835
|
"period": { "id": "2", "shortName": "", "longName": "2nd" },
|
1836
1836
|
"time": "6:26",
|
1837
1837
|
"againstTeam": {
|
@@ -1866,7 +1866,7 @@
|
|
1866
1866
|
"isBench": false
|
1867
1867
|
},
|
1868
1868
|
{
|
1869
|
-
"game_penalty_id":
|
1869
|
+
"game_penalty_id": 237227,
|
1870
1870
|
"period": { "id": "2", "shortName": "", "longName": "2nd" },
|
1871
1871
|
"time": "18:48",
|
1872
1872
|
"againstTeam": {
|
@@ -2300,7 +2300,7 @@
|
|
2300
2300
|
],
|
2301
2301
|
"penalties": [
|
2302
2302
|
{
|
2303
|
-
"game_penalty_id":
|
2303
|
+
"game_penalty_id": 237233,
|
2304
2304
|
"period": { "id": "3", "shortName": "", "longName": "3rd" },
|
2305
2305
|
"time": "4:35",
|
2306
2306
|
"againstTeam": {
|
@@ -2335,7 +2335,7 @@
|
|
2335
2335
|
"isBench": false
|
2336
2336
|
},
|
2337
2337
|
{
|
2338
|
-
"game_penalty_id":
|
2338
|
+
"game_penalty_id": 237245,
|
2339
2339
|
"period": { "id": "3", "shortName": "", "longName": "3rd" },
|
2340
2340
|
"time": "13:27",
|
2341
2341
|
"againstTeam": {
|
@@ -2370,7 +2370,7 @@
|
|
2370
2370
|
"isBench": false
|
2371
2371
|
},
|
2372
2372
|
{
|
2373
|
-
"game_penalty_id":
|
2373
|
+
"game_penalty_id": 237262,
|
2374
2374
|
"period": { "id": "3", "shortName": "", "longName": "3rd" },
|
2375
2375
|
"time": "16:49",
|
2376
2376
|
"againstTeam": {
|
@@ -2405,7 +2405,7 @@
|
|
2405
2405
|
"isBench": false
|
2406
2406
|
},
|
2407
2407
|
{
|
2408
|
-
"game_penalty_id":
|
2408
|
+
"game_penalty_id": 237268,
|
2409
2409
|
"period": { "id": "3", "shortName": "", "longName": "3rd" },
|
2410
2410
|
"time": "16:49",
|
2411
2411
|
"againstTeam": {
|
@@ -47,8 +47,9 @@ module AhlScraper
|
|
47
47
|
attr_reader(*ATTRIBUTES)
|
48
48
|
|
49
49
|
def initialize(game_id, opts = {})
|
50
|
+
raw_data = GameDataFetcher.new(game_id).call
|
51
|
+
super(raw_data, opts)
|
50
52
|
@game_id = game_id
|
51
|
-
@raw_data = GameDataFetcher.new(game_id).call
|
52
53
|
@raw_event_data = GameEventDataFetcher.new(game_id).call
|
53
54
|
@season_type = opts[:season_type] || SeasonTypeFetcher.new(@raw_data[:details][:seasonId]).call
|
54
55
|
end
|
@@ -224,7 +225,7 @@ module AhlScraper
|
|
224
225
|
end
|
225
226
|
|
226
227
|
def overtimes
|
227
|
-
@overtimes ||= Array(@raw_data[:periods][3
|
228
|
+
@overtimes ||= Array(@raw_data[:periods][3..]).map { |o| Games::Overtime.new(o, { regular_season: season_type == :regular }) }
|
228
229
|
end
|
229
230
|
|
230
231
|
def overtime?
|
@@ -353,7 +354,7 @@ module AhlScraper
|
|
353
354
|
end
|
354
355
|
|
355
356
|
def set_current_game_time
|
356
|
-
return if
|
357
|
+
return if @raw_data[:details][:final] == "1" || @raw_data[:details][:started] == "0"
|
357
358
|
|
358
359
|
game_time = @raw_data[:details][:status].match(/\d{1,2}:\d{2}/).to_s
|
359
360
|
return if game_time.empty?
|
@@ -2,52 +2,52 @@
|
|
2
2
|
|
3
3
|
module AhlScraper
|
4
4
|
class GameListItem < Resource
|
5
|
-
def initialize(raw_data)
|
6
|
-
|
5
|
+
def initialize(raw_data, opts = {})
|
6
|
+
super(raw_data, opts)
|
7
7
|
end
|
8
8
|
|
9
9
|
def id
|
10
|
-
@id ||= @raw_data
|
10
|
+
@id ||= @raw_data&.dig(:row, :game_id).to_i
|
11
11
|
end
|
12
12
|
|
13
13
|
def home_team_city
|
14
|
-
@home_team_city ||= @raw_data
|
14
|
+
@home_team_city ||= @raw_data&.dig(:row, :home_team_city)
|
15
15
|
end
|
16
16
|
|
17
17
|
def home_team_score
|
18
|
-
@home_team_score ||= @raw_data
|
18
|
+
@home_team_score ||= @raw_data&.dig(:row, :home_goal_count).to_i
|
19
19
|
end
|
20
20
|
|
21
21
|
def home_team_id
|
22
|
-
@home_team_id ||= @raw_data
|
22
|
+
@home_team_id ||= @raw_data&.dig(:prop, :home_team_city, :teamLink).to_i
|
23
23
|
end
|
24
24
|
|
25
25
|
def away_team_city
|
26
|
-
@away_team_city ||= @raw_data
|
26
|
+
@away_team_city ||= @raw_data&.dig(:row, :visiting_team_city)
|
27
27
|
end
|
28
28
|
|
29
29
|
def away_team_score
|
30
|
-
@away_team_score ||= @raw_data
|
30
|
+
@away_team_score ||= @raw_data&.dig(:row, :visiting_goal_count).to_i
|
31
31
|
end
|
32
32
|
|
33
33
|
def away_team_id
|
34
|
-
@away_team_id ||= @raw_data
|
34
|
+
@away_team_id ||= @raw_data&.dig(:prop, :visiting_team_city, :teamLink).to_i
|
35
35
|
end
|
36
36
|
|
37
37
|
def date
|
38
|
-
@date ||= @raw_data
|
38
|
+
@date ||= @raw_data&.dig(:row, :date_with_day)
|
39
39
|
end
|
40
40
|
|
41
41
|
def status
|
42
|
-
@status ||= @raw_data
|
42
|
+
@status ||= @raw_data&.dig(:row, :game_status)&.match(/am|pm/) ? "Not Started" : @raw_data&.dig(:row, :game_status)
|
43
43
|
end
|
44
44
|
|
45
45
|
def game_report_url
|
46
|
-
@game_report_url ||= @raw_data
|
46
|
+
@game_report_url ||= @raw_data&.dig(:prop, :game_report, :link)
|
47
47
|
end
|
48
48
|
|
49
49
|
def game_sheet_url
|
50
|
-
@game_sheet_url ||= @raw_data
|
50
|
+
@game_sheet_url ||= @raw_data&.dig(:prop, :game_sheet, :link)
|
51
51
|
end
|
52
52
|
|
53
53
|
def game_center_url
|
@@ -4,7 +4,7 @@ module AhlScraper
|
|
4
4
|
module Games
|
5
5
|
class Penalty < Resource
|
6
6
|
def id
|
7
|
-
@id ||= @raw_data
|
7
|
+
@id ||= @raw_data[:game_penalty_id]&.to_i
|
8
8
|
end
|
9
9
|
|
10
10
|
def number
|
@@ -78,7 +78,7 @@ module AhlScraper
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def bench?
|
81
|
-
@raw_data[:
|
81
|
+
@raw_data[:isBench]
|
82
82
|
end
|
83
83
|
|
84
84
|
def invalid?
|
@@ -49,7 +49,7 @@ module AhlScraper
|
|
49
49
|
p1_sog: @opts[:shots].dig(0, home_team? ? :home : :away),
|
50
50
|
p2_sog: @opts[:shots].dig(1, home_team? ? :home : :away),
|
51
51
|
p3_sog: @opts[:shots].dig(2, home_team? ? :home : :away),
|
52
|
-
ot_sog: @opts[:shots][3
|
52
|
+
ot_sog: @opts[:shots][3..]&.map { |ot| ot[home_team? ? :home : :away].to_i },
|
53
53
|
}
|
54
54
|
end
|
55
55
|
|
@@ -59,7 +59,7 @@ module AhlScraper
|
|
59
59
|
p1_goals: @opts[:goal_totals].dig(0, home_team? ? :home : :away),
|
60
60
|
p2_goals: @opts[:goal_totals].dig(1, home_team? ? :home : :away),
|
61
61
|
p3_goals: @opts[:goal_totals].dig(2, home_team? ? :home : :away),
|
62
|
-
ot_goals: @opts[:goal_totals][3
|
62
|
+
ot_goals: @opts[:goal_totals][3..]&.map { |ot| ot[home_team? ? :home : :away].to_i },
|
63
63
|
}
|
64
64
|
end
|
65
65
|
|
@@ -2,20 +2,20 @@
|
|
2
2
|
|
3
3
|
module AhlScraper
|
4
4
|
class PlayoffBracket < Resource
|
5
|
-
def initialize(
|
6
|
-
|
5
|
+
def initialize(raw_data, opts = {})
|
6
|
+
super(raw_data, opts)
|
7
7
|
end
|
8
8
|
|
9
9
|
def teams
|
10
|
-
@teams ||= @
|
10
|
+
@teams ||= @raw_data[:teams].map { |_team_id, team_data| PlayoffBrackets::Team.new(team_data) }
|
11
11
|
end
|
12
12
|
|
13
13
|
def rounds
|
14
|
-
@rounds ||= @
|
14
|
+
@rounds ||= @raw_data[:rounds].map { |round| PlayoffBrackets::Round.new(round, { raw_data: @raw_data }) }
|
15
15
|
end
|
16
16
|
|
17
17
|
def logo_url
|
18
|
-
@logo_url ||= @
|
18
|
+
@logo_url ||= @raw_data[:logo]
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -3,6 +3,18 @@
|
|
3
3
|
module AhlScraper
|
4
4
|
module PlayoffBrackets
|
5
5
|
class Series < Resource
|
6
|
+
OVERRIDE_WINS_NEEDED = {
|
7
|
+
"36" => { "1" => 4 },
|
8
|
+
"39" => { "1" => 4 },
|
9
|
+
"33" => { "1" => 4 },
|
10
|
+
"29" => { "1" => 4 },
|
11
|
+
"15" => { "1" => 4 },
|
12
|
+
"10" => { "1" => 4 },
|
13
|
+
"7" => { "1" => 4 },
|
14
|
+
"69" => { "1" => 4 },
|
15
|
+
"72" => { "1" => 1, "2" => 1, "3" => 2, "4" => 2 },
|
16
|
+
}.freeze
|
17
|
+
|
6
18
|
def id
|
7
19
|
@id ||= @raw_data[:series_letter]
|
8
20
|
end
|
@@ -20,54 +32,82 @@ module AhlScraper
|
|
20
32
|
end
|
21
33
|
|
22
34
|
def active?
|
23
|
-
@active ||= @raw_data[:active] == "1"
|
35
|
+
@active ||= @raw_data[:active] == "1" && team1_wins < wins_needed && team2_wins < wins_needed
|
24
36
|
end
|
25
37
|
|
26
|
-
def
|
27
|
-
@
|
38
|
+
def home_feeder_series
|
39
|
+
@home_feeder_series ||= home_team_id == team1 ? @raw_data[:feeder_series1] : @raw_data[:feeder_series2]
|
28
40
|
end
|
29
41
|
|
30
|
-
def
|
31
|
-
@
|
42
|
+
def away_feeder_series
|
43
|
+
@away_feeder_series ||= home_team_id == team1 ? @raw_data[:feeder_series2] : @raw_data[:feeder_series1]
|
32
44
|
end
|
33
45
|
|
34
|
-
def
|
35
|
-
@
|
46
|
+
def winning_team_id
|
47
|
+
@winning_team_id ||= @raw_data[:winner].empty? ? find_winner : @raw_data[:winner].to_i
|
36
48
|
end
|
37
49
|
|
38
|
-
def
|
39
|
-
@
|
50
|
+
def home_team_id
|
51
|
+
@home_team_id ||= first_game[:home_team].to_i
|
40
52
|
end
|
41
53
|
|
42
|
-
def
|
43
|
-
@
|
54
|
+
def away_team_id
|
55
|
+
@away_team_id ||= first_game[:visiting_team].to_i
|
44
56
|
end
|
45
57
|
|
46
|
-
def
|
47
|
-
@
|
58
|
+
def home_team_wins
|
59
|
+
@home_team_wins ||= home_team_id == team1 ? team1_wins : team2_wins
|
48
60
|
end
|
49
61
|
|
50
|
-
def
|
51
|
-
@
|
62
|
+
def away_team_wins
|
63
|
+
@away_team_wins ||= home_team_id == team1 ? team2_wins : team1_wins
|
52
64
|
end
|
53
65
|
|
54
66
|
def ties
|
55
|
-
@ties ||= @raw_data[:ties]
|
56
|
-
end
|
57
|
-
|
58
|
-
def home_team_id
|
59
|
-
@home_team_id ||= first_game[:home_team].to_i
|
67
|
+
@ties ||= @raw_data[:ties].to_i
|
60
68
|
end
|
61
69
|
|
62
70
|
def games
|
63
71
|
@games ||= @raw_data[:games].map { |game| Game.new(game) }
|
64
72
|
end
|
65
73
|
|
74
|
+
def wins_needed
|
75
|
+
@wins_needed ||= OVERRIDE_WINS_NEEDED.dig(season_id, round.to_s) || (round == 1 ? 3 : 4)
|
76
|
+
end
|
77
|
+
|
66
78
|
private
|
67
79
|
|
68
80
|
def first_game
|
69
81
|
@first_game ||= @raw_data[:games][0]
|
70
82
|
end
|
83
|
+
|
84
|
+
def find_winner
|
85
|
+
return team1 if team1_wins == wins_needed
|
86
|
+
|
87
|
+
return team2 if team2_wins == wins_needed
|
88
|
+
|
89
|
+
nil
|
90
|
+
end
|
91
|
+
|
92
|
+
def season_id
|
93
|
+
@opts[:bracket_data]&.dig(:rounds, round - 1, :season_id)
|
94
|
+
end
|
95
|
+
|
96
|
+
def team1
|
97
|
+
@team1 ||= @raw_data[:team1].to_i
|
98
|
+
end
|
99
|
+
|
100
|
+
def team2
|
101
|
+
@team2 ||= @raw_data[:team2].to_i
|
102
|
+
end
|
103
|
+
|
104
|
+
def team1_wins
|
105
|
+
@team1_wins ||= @raw_data[:team1_wins]
|
106
|
+
end
|
107
|
+
|
108
|
+
def team2_wins
|
109
|
+
@team2_wins ||= @raw_data[:team2_wins]
|
110
|
+
end
|
71
111
|
end
|
72
112
|
end
|
73
113
|
end
|
@@ -4,7 +4,8 @@ module AhlScraper
|
|
4
4
|
class Season < Resource
|
5
5
|
attr_reader :id, :name, :season_type
|
6
6
|
|
7
|
-
def initialize(raw_data)
|
7
|
+
def initialize(raw_data, opts = {})
|
8
|
+
super(raw_data, opts)
|
8
9
|
@id = raw_data[:id].to_i
|
9
10
|
@name = raw_data[:name]
|
10
11
|
@season_type = set_season_type
|
@@ -15,13 +16,15 @@ module AhlScraper
|
|
15
16
|
@abbreviation ||=
|
16
17
|
case season_type
|
17
18
|
when :regular
|
18
|
-
"#{start_year.to_s[-2
|
19
|
+
"#{start_year.to_s[-2..]}-#{end_year.to_s[-2..]}"
|
19
20
|
when :playoffs
|
20
|
-
"#{start_year.to_s[-2
|
21
|
+
"#{start_year.to_s[-2..]}PO"
|
21
22
|
when :all_star_game
|
22
|
-
"#{start_year.to_s[-2
|
23
|
+
"#{start_year.to_s[-2..]}ASG"
|
23
24
|
when :exhibition
|
24
|
-
"#{start_year.to_s[-2
|
25
|
+
"#{start_year.to_s[-2..]}-#{end_year.to_s[-2..]}EX"
|
26
|
+
when :preseason
|
27
|
+
"#{start_year.to_s[-2..]}PS"
|
25
28
|
end
|
26
29
|
end
|
27
30
|
|
@@ -29,8 +32,8 @@ module AhlScraper
|
|
29
32
|
@start_year ||=
|
30
33
|
case season_type
|
31
34
|
when :regular, :exhibition
|
32
|
-
name[/(.*?)
|
33
|
-
when :playoffs, :all_star_game
|
35
|
+
name[/(.*?)-/].to_i
|
36
|
+
when :playoffs, :all_star_game, :preseason
|
34
37
|
name[/(.*?) /].to_i
|
35
38
|
end
|
36
39
|
end
|
@@ -48,7 +51,7 @@ module AhlScraper
|
|
48
51
|
case season_type
|
49
52
|
when :regular, :exhibition
|
50
53
|
start_year + 1
|
51
|
-
when :playoffs, :all_star_game
|
54
|
+
when :playoffs, :all_star_game, :preseason
|
52
55
|
start_year
|
53
56
|
end
|
54
57
|
end
|
@@ -73,6 +76,8 @@ module AhlScraper
|
|
73
76
|
:playoffs
|
74
77
|
when /Regular/
|
75
78
|
:regular
|
79
|
+
when /Preseason/
|
80
|
+
:preseason
|
76
81
|
end
|
77
82
|
end
|
78
83
|
|
@@ -28,8 +28,8 @@ module AhlScraper
|
|
28
28
|
"henderson-silver-knights" => { city: "Henderson", name: "Silver Knights" },
|
29
29
|
}.freeze
|
30
30
|
|
31
|
-
def initialize(raw_data, division)
|
32
|
-
|
31
|
+
def initialize(raw_data, division, opts = {})
|
32
|
+
super(raw_data, opts)
|
33
33
|
@division = division
|
34
34
|
end
|
35
35
|
|
@@ -42,7 +42,8 @@ module AhlScraper
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def abbreviation
|
45
|
-
@abbreviation ||= EXCEPTIONS[parameterized_name]&.dig(:abbreviation) || @raw_data.dig(:row,
|
45
|
+
@abbreviation ||= EXCEPTIONS[parameterized_name]&.dig(:abbreviation) || @raw_data.dig(:row,
|
46
|
+
:team_code)&.delete_prefix("y -")&.delete_prefix("x -")&.delete_prefix("xy -")&.strip
|
46
47
|
end
|
47
48
|
|
48
49
|
def parameterized_name
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module AhlScraper
|
4
4
|
module Games
|
5
5
|
class CreateSkatersService
|
6
|
-
def initialize(skater_data, goal_data, penalty_data, shootout_data, penalty_shot_data, opts)
|
6
|
+
def initialize(skater_data, goal_data, penalty_data, shootout_data, penalty_shot_data, opts = {})
|
7
7
|
@skater_data = skater_data
|
8
8
|
@goal_data = goal_data
|
9
9
|
@penalty_data = penalty_data
|
@@ -45,7 +45,7 @@ module AhlScraper
|
|
45
45
|
on_scoring_team ? "#{skater_ids.length}v#{opposing_skater_ids.length}" : "#{opposing_skater_ids.length}v#{skater_ids.length}"
|
46
46
|
end
|
47
47
|
|
48
|
-
def find_goal_situation(goal, on_scoring_team)
|
48
|
+
def find_goal_situation(goal, on_scoring_team) # rubocop:disable Metrics/CyclomaticComplexity
|
49
49
|
return "pp" if (goal[:properties][:isPowerPlay] == "1" && on_scoring_team) || (goal[:properties][:isShortHanded] == "1" && !on_scoring_team)
|
50
50
|
|
51
51
|
return "sh" if goal[:properties][:isShortHanded] == "1" && on_scoring_team || (goal[:properties][:isPowerPlay] == "1" && !on_scoring_team)
|