Skip to content

Commit 1d38e16

Browse files
committed
Use ask_yes_no
1 parent 6e10e75 commit 1d38e16

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

lib/rubygems/gemcutter_utilities.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ def get_scope_params(scope)
260260
else
261261
say "Please select scopes you want to enable for the API key (y/n)"
262262
API_SCOPES.each do |scope|
263-
selected = ask "#{scope} [y/N]: "
264-
scope_params[scope] = true if selected =~ /^[yY](es)?$/
263+
selected = ask_yes_no("#{scope}", false)
264+
scope_params[scope] = true if selected
265265
end
266266
say "\n"
267267
end
@@ -279,8 +279,8 @@ def get_mfa_params(email, password)
279279
mfa_level = get_user_mfa_level(email, password)
280280
params = {}
281281
if mfa_level == "ui_only" || mfa_level == "ui_and_gem_signin"
282-
selected = ask "Would you like to enable MFA for this key? [Y/n]"
283-
params["mfa"] = true unless selected =~ /^[nN](o)?$/
282+
selected = ask_yes_no("Would you like to enable MFA for this key? (strongly recommended)")
283+
params["mfa"] = true if selected
284284
end
285285
params
286286
end

test/rubygems/test_gem_commands_signin_command.rb

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ def test_execute_with_key_name_and_scope
9292
user = ENV["USER"] || ENV["USERNAME"]
9393

9494
assert_match "API Key name [#{Socket.gethostname}-#{user}", key_name_ui.output
95-
assert_match "index_rubygems [y/N]", key_name_ui.output
96-
assert_match "push_rubygem [y/N]", key_name_ui.output
97-
assert_match "yank_rubygem [y/N]", key_name_ui.output
98-
assert_match "add_owner [y/N]", key_name_ui.output
99-
assert_match "remove_owner [y/N]", key_name_ui.output
100-
assert_match "access_webhooks [y/N]", key_name_ui.output
101-
assert_match "show_dashboard [y/N]", key_name_ui.output
95+
assert_match "index_rubygems [yN]", key_name_ui.output
96+
assert_match "push_rubygem [yN]", key_name_ui.output
97+
assert_match "yank_rubygem [yN]", key_name_ui.output
98+
assert_match "add_owner [yN]", key_name_ui.output
99+
assert_match "remove_owner [yN]", key_name_ui.output
100+
assert_match "access_webhooks [yN]", key_name_ui.output
101+
assert_match "show_dashboard [yN]", key_name_ui.output
102102
assert_equal "name=test-key&push_rubygem=true", fetcher.last_request.body
103103

104104
credentials = load_yaml_file Gem.configuration.credentials_path
@@ -118,14 +118,14 @@ def test_execute_with_key_name_scope_and_mfa_level_of_ui_only
118118
user = ENV["USER"] || ENV["USERNAME"]
119119

120120
assert_match "API Key name [#{Socket.gethostname}-#{user}", key_name_ui.output
121-
assert_match "index_rubygems [y/N]", key_name_ui.output
122-
assert_match "push_rubygem [y/N]", key_name_ui.output
123-
assert_match "yank_rubygem [y/N]", key_name_ui.output
124-
assert_match "add_owner [y/N]", key_name_ui.output
125-
assert_match "remove_owner [y/N]", key_name_ui.output
126-
assert_match "access_webhooks [y/N]", key_name_ui.output
127-
assert_match "show_dashboard [y/N]", key_name_ui.output
128-
assert_match "Would you like to enable MFA for this key? [Y/n]", key_name_ui.output
121+
assert_match "index_rubygems [yN]", key_name_ui.output
122+
assert_match "push_rubygem [yN]", key_name_ui.output
123+
assert_match "yank_rubygem [yN]", key_name_ui.output
124+
assert_match "add_owner [yN]", key_name_ui.output
125+
assert_match "remove_owner [yN]", key_name_ui.output
126+
assert_match "access_webhooks [yN]", key_name_ui.output
127+
assert_match "show_dashboard [yN]", key_name_ui.output
128+
assert_match "Would you like to enable MFA for this key? (strongly recommended) [yn]", key_name_ui.output
129129
assert_equal "name=test-key&push_rubygem=true&mfa=true", fetcher.last_request.body
130130

131131
credentials = load_yaml_file Gem.configuration.credentials_path
@@ -145,14 +145,14 @@ def test_execute_with_key_name_scope_and_mfa_level_of_gem_signin
145145
user = ENV["USER"] || ENV["USERNAME"]
146146

147147
assert_match "API Key name [#{Socket.gethostname}-#{user}", key_name_ui.output
148-
assert_match "index_rubygems [y/N]", key_name_ui.output
149-
assert_match "push_rubygem [y/N]", key_name_ui.output
150-
assert_match "yank_rubygem [y/N]", key_name_ui.output
151-
assert_match "add_owner [y/N]", key_name_ui.output
152-
assert_match "remove_owner [y/N]", key_name_ui.output
153-
assert_match "access_webhooks [y/N]", key_name_ui.output
154-
assert_match "show_dashboard [y/N]", key_name_ui.output
155-
assert_match "Would you like to enable MFA for this key? [Y/n]", key_name_ui.output
148+
assert_match "index_rubygems [yN]", key_name_ui.output
149+
assert_match "push_rubygem [yN]", key_name_ui.output
150+
assert_match "yank_rubygem [yN]", key_name_ui.output
151+
assert_match "add_owner [yN]", key_name_ui.output
152+
assert_match "remove_owner [yN]", key_name_ui.output
153+
assert_match "access_webhooks [yN]", key_name_ui.output
154+
assert_match "show_dashboard [yN]", key_name_ui.output
155+
assert_match "Would you like to enable MFA for this key? (strongly recommended) [yn]", key_name_ui.output
156156
assert_equal "name=test-key&push_rubygem=true&mfa=true", fetcher.last_request.body
157157

158158
credentials = load_yaml_file Gem.configuration.credentials_path
@@ -181,13 +181,13 @@ def test_execute_on_gemserver_without_profile_me_endpoint
181181
user = ENV["USER"] || ENV["USERNAME"]
182182

183183
assert_match "API Key name [#{Socket.gethostname}-#{user}", key_name_ui.output
184-
assert_match "index_rubygems [y/N]", key_name_ui.output
185-
assert_match "push_rubygem [y/N]", key_name_ui.output
186-
assert_match "yank_rubygem [y/N]", key_name_ui.output
187-
assert_match "add_owner [y/N]", key_name_ui.output
188-
assert_match "remove_owner [y/N]", key_name_ui.output
189-
assert_match "access_webhooks [y/N]", key_name_ui.output
190-
assert_match "show_dashboard [y/N]", key_name_ui.output
184+
assert_match "index_rubygems [yN]", key_name_ui.output
185+
assert_match "push_rubygem [yN]", key_name_ui.output
186+
assert_match "yank_rubygem [yN]", key_name_ui.output
187+
assert_match "add_owner [yN]", key_name_ui.output
188+
assert_match "remove_owner [yN]", key_name_ui.output
189+
assert_match "access_webhooks [yN]", key_name_ui.output
190+
assert_match "show_dashboard [yN]", key_name_ui.output
191191
assert_equal "name=test-key&push_rubygem=true", fetcher.last_request.body
192192
end
193193

0 commit comments

Comments
 (0)