module Ferry::Configuration::Question
Attributes
default[R]
key[R]
options[R]
Public Class Methods
new(key, default, options = {})
click to toggle source
# File lib/ferry/configuration/question.rb, line 4 def initialize(key, default, options = {}) @key, @default, @options = key, default, options end
Public Instance Methods
call()
click to toggle source
# File lib/ferry/configuration/question.rb, line 8 def call ask_question value_or_default end
Private Instance Methods
ask_question()
click to toggle source
# File lib/ferry/configuration/question.rb, line 16 def ask_question $stdout.print question end
echo?()
click to toggle source
# File lib/ferry/configuration/question.rb, line 48 def echo? (options || {}).fetch(:echo, true) end
gets()
click to toggle source
# File lib/ferry/configuration/question.rb, line 34 def gets if echo? $stdin.gets else $stdin.noecho(&:gets).tap{ $stdout.print "\n" } end rescue Errno::EIO # when stdio gets closed end
question()
click to toggle source
# File lib/ferry/configuration/question.rb, line 44 def question I18n.t(:question, key: key, default_value: default, scope: :capistrano) end
response()
click to toggle source
# File lib/ferry/configuration/question.rb, line 28 def response return @response if defined? @response @response = (gets || "").chomp end
value_or_default()
click to toggle source
# File lib/ferry/configuration/question.rb, line 20 def value_or_default if response.empty? default else response end end