hlockey-cli 3 → 4
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/lib/hlockey-cli/actions.rb +40 -14
- data/lib/hlockey-cli/user_selection.rb +3 -7
- data/lib/hlockey-cli/version.rb +1 -1
- data/lib/hlockey-cli.rb +14 -3
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dddf4273805217361e85d502d4ca2d7b9ff963d1feb87e800ef921d53cbabd07
|
4
|
+
data.tar.gz: d5a73bed64e9db50c14e0a82fd4b1944afad785864e48943d592f557f83be4b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03524cea4b65832fd56fd193786fb66258aa8d4689a24c2e5416159e0798b981290f177bd7e2a4a1cb1ee4058945c09b23499c9ec4eeabada4301289554a7a20
|
7
|
+
data.tar.gz: 042fe6070ba37fc43a5dc1c31434c4b50dee985d7a3ac62b01ec510422253a3f9689de569fc5ac5ac40ccf7c61999f066d6aef8f014bfb5ae07add948186c444
|
data/lib/hlockey-cli/actions.rb
CHANGED
@@ -19,13 +19,13 @@ module HlockeyCLI
|
|
19
19
|
|
20
20
|
puts("#{chosen_game.home.emoji} #{chosen_game} #{chosen_game.away.emoji}")
|
21
21
|
|
22
|
+
stream_idx = 0
|
22
23
|
loop do
|
23
24
|
league.update_state
|
24
|
-
chosen_game.stream.each { |message| puts("#{message}\n\n") }
|
25
|
-
|
25
|
+
chosen_game.stream[stream_idx..].each { |message| puts("#{message}\n\n") }
|
26
|
+
stream_idx = chosen_game.stream.length
|
26
27
|
break unless chosen_game.in_progress
|
27
28
|
|
28
|
-
chosen_game.stream.clear
|
29
29
|
sleep(5)
|
30
30
|
end
|
31
31
|
end
|
@@ -34,24 +34,33 @@ module HlockeyCLI
|
|
34
34
|
if league.champion_team
|
35
35
|
puts(Hlockey::Message.SeasonChampion(league.champion_team))
|
36
36
|
elsif league.playoff_teams
|
37
|
-
|
37
|
+
(league.playoff_teams.length / 2).times do |i|
|
38
|
+
put_standings("Playoff Matchup #{i + 1}",
|
39
|
+
[league.playoff_teams[i], league.playoff_teams[-i - 1]])
|
40
|
+
end
|
41
|
+
puts("_" * 31) # Separator from regular standings
|
38
42
|
end
|
39
43
|
league.divisions.each { |name, teams| put_standings(name, teams) }
|
40
44
|
end
|
41
45
|
|
42
46
|
def team_info(league)
|
43
|
-
chosen_team = HlockeyCLI.user_selection(league.teams)
|
44
|
-
return if chosen_team.nil?
|
47
|
+
chosen_team = HlockeyCLI.user_selection(league.teams, default: "All teams")
|
45
48
|
|
46
|
-
|
47
|
-
|
48
|
-
puts("
|
49
|
-
|
50
|
-
puts("
|
49
|
+
(chosen_team.nil? ? league.teams : [chosen_team]).each do |team|
|
50
|
+
puts("#{team.emoji} #{team}")
|
51
|
+
puts("\"#{team.motto}\"")
|
52
|
+
team.roster.each do |pos, player|
|
53
|
+
puts(" #{Hlockey::Team.pos_name(pos)}:\n #{player}")
|
54
|
+
put_stats(player)
|
51
55
|
end
|
56
|
+
puts(" Shadows:")
|
57
|
+
team.shadows.each do |player|
|
58
|
+
puts(" #{player}")
|
59
|
+
put_stats(player)
|
60
|
+
end
|
61
|
+
puts(" Wins: #{team.wins}")
|
62
|
+
puts(" Losses: #{team.losses}")
|
52
63
|
end
|
53
|
-
puts(" wins: #{chosen_team.wins}")
|
54
|
-
puts(" losses: #{chosen_team.losses}")
|
55
64
|
end
|
56
65
|
|
57
66
|
def election(_)
|
@@ -77,7 +86,24 @@ module HlockeyCLI
|
|
77
86
|
|
78
87
|
def put_standings(division_name, teams)
|
79
88
|
puts(division_name)
|
80
|
-
teams.each
|
89
|
+
teams.each do |team|
|
90
|
+
status_emoji = case team.status
|
91
|
+
when :partying
|
92
|
+
" 🎉"
|
93
|
+
when :qualified
|
94
|
+
" ✅"
|
95
|
+
else
|
96
|
+
""
|
97
|
+
end
|
98
|
+
puts("#{team.emoji} #{team}".ljust(27) + team.w_l + status_emoji)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# @param player [Hlockey::Player]
|
103
|
+
def put_stats(player)
|
104
|
+
player.stat_strings.each do |key, value|
|
105
|
+
puts(" #{key}: #{value}")
|
106
|
+
end
|
81
107
|
end
|
82
108
|
end
|
83
109
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module HlockeyCLI
|
2
|
-
def self.user_selection(choices, default:
|
2
|
+
def self.user_selection(choices, default: "Back", str_process: ->(s) { s })
|
3
3
|
puts("Please enter a number...")
|
4
4
|
|
5
5
|
# 1 is added to i when printing choices
|
@@ -7,15 +7,11 @@ module HlockeyCLI
|
|
7
7
|
choices.each_with_index do |choice, i|
|
8
8
|
puts("#{(i + 1).to_s.rjust(2)} - #{str_process.call(choice)}")
|
9
9
|
end
|
10
|
-
puts("anything else - #{default
|
10
|
+
puts("anything else - #{default}")
|
11
11
|
|
12
12
|
# 1 is subracted to undo adding 1 earlier
|
13
13
|
choice_idx = $stdin.gets.to_i - 1
|
14
14
|
|
15
|
-
|
16
|
-
choices[choice_idx]
|
17
|
-
else
|
18
|
-
default
|
19
|
-
end
|
15
|
+
!choice_idx.negative? && choice_idx < choices.length ? choices[choice_idx] : nil
|
20
16
|
end
|
21
17
|
end
|
data/lib/hlockey-cli/version.rb
CHANGED
data/lib/hlockey-cli.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require("hlockey")
|
2
|
+
require("paint")
|
2
3
|
require("hlockey-cli/actions")
|
3
4
|
require("hlockey-cli/user_selection")
|
4
5
|
require("hlockey-cli/version")
|
@@ -7,20 +8,30 @@ module HlockeyCLI
|
|
7
8
|
def self.main
|
8
9
|
puts("Please wait...")
|
9
10
|
|
11
|
+
Hlockey::Message.colorize = ->(color, string) { Paint[string, color] }
|
12
|
+
|
10
13
|
league = Hlockey::League.new
|
14
|
+
alerts = league.alerts.clone
|
11
15
|
|
12
16
|
puts(Hlockey::Message.SeasonStarts(league.start_time)) if Time.now < league.start_time
|
13
17
|
|
14
18
|
loop do
|
15
19
|
league.update_state
|
20
|
+
|
21
|
+
unless alerts == league.alerts
|
22
|
+
alerts = league.alerts.clone
|
23
|
+
alerts.each(&method(:puts))
|
24
|
+
puts # newline
|
25
|
+
end
|
16
26
|
puts(Hlockey::Message.SeasonDay(league.day))
|
17
27
|
|
18
28
|
selected_action = user_selection(
|
19
29
|
Actions::ACTIONS,
|
20
|
-
default:
|
21
|
-
str_process:
|
30
|
+
default: "Exit",
|
31
|
+
str_process: ->(s) { s.to_s.capitalize.sub("_", " ") }
|
22
32
|
)
|
23
|
-
exit if selected_action
|
33
|
+
exit if selected_action.nil?
|
34
|
+
|
24
35
|
Actions.send(selected_action, league)
|
25
36
|
end
|
26
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hlockey-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '
|
4
|
+
version: '4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lavender Perry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hlockey
|
@@ -16,14 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: paint
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.3'
|
27
41
|
description: Hlockey console application.
|
28
42
|
email: endie2@protonmail.com
|
29
43
|
executables:
|