def install!
return if @config.disabled?
return if @config.installed?
messages = @api.participating?(signup_data)
return unless messages
update_message_catalog!(messages)
@ui.show Banner.new.to_s
@ui.show message(:preinstall, {})
begin
if @ui.prompt(prompt(:want_install)).downcase == 'no'
quit!
return
end
rescue UI::TimeoutError
quit!("timeout")
return
end
data = signup_data
if data[:email].to_s.empty? or data[:name].to_s.empty?
begin
data[:name] = @ui.prompt(prompt(:enter_name), [])
data[:email] = @ui.prompt(prompt(:enter_email), [])
rescue UI::TimeoutError
quit!("timeout")
end
end
@ui.show message(:signup_data, data)
unless data[:repository_url].to_s.empty?
@ui.show message(:repository, data)
end
@password = prompt_password!
unless @password
quit!("no password provided")
return
end
sign_up_user!
end