class Luban::Deployment::Configuration::Question
Attributes
default[R]
prompt[R]
Public Class Methods
new(default:, prompt: nil, echo: true)
click to toggle source
# File lib/luban/deployment/configuration/question.rb, line 7 def initialize(default:, prompt: nil, echo: true) @default = default @echo = echo @prompt = "#{prompt.to_s}: " unless prompt.nil? end
Public Instance Methods
call()
click to toggle source
# File lib/luban/deployment/configuration/question.rb, line 15 def call ask_question get_response end
echo?()
click to toggle source
# File lib/luban/deployment/configuration/question.rb, line 13 def echo?; @echo; end
Protected Instance Methods
ask_question()
click to toggle source
# File lib/luban/deployment/configuration/question.rb, line 22 def ask_question $stdout.print prompt end
get_response()
click to toggle source
# File lib/luban/deployment/configuration/question.rb, line 26 def get_response response = if echo? $stdin.gets.chomp else require 'io/console' $stdin.noecho(&:gets).chomp.tap{ $stdout.print "\n" } end response.empty? ? default : response end