Module: GemSuit::CLI::Base::Shell::InstanceMethods
- Defined in:
- lib/gem_suit/cli/base/shell.rb
Instance Method Summary collapse
- #agree?(question, default = nil) ⇒ Boolean
- #ask(question, opts = nil, default = nil) ⇒ Object
- #is?(*args) ⇒ Boolean
- #shell ⇒ Object
Instance Method Details
#agree?(question, default = nil) ⇒ Boolean
22 23 24 25 26 |
# File 'lib/gem_suit/cli/base/shell.rb', line 22 def agree?(question, default = nil) opts = %w(y n).collect{|x| !default.nil? && x =~ is?(default) ? x.upcase : x} answer = ask question, opts, default !!(answer =~ is?(:yes)) end |
#ask(question, opts = nil, default = nil) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/gem_suit/cli/base/shell.rb', line 28 def ask(question, opts = nil, default = nil) in_brackets = [opts, default].compact.first statement = [question, ("[#{in_brackets}]" unless in_brackets.nil?)].compact.join " " answer = shell.ask statement if .interactive? || default.nil? answer.nil? || answer.empty? ? default.to_s : answer end |
#is?(*args) ⇒ Boolean
18 19 20 |
# File 'lib/gem_suit/cli/base/shell.rb', line 18 def is?(*args) shell.send :is?, *args end |
#shell ⇒ Object
14 15 16 |
# File 'lib/gem_suit/cli/base/shell.rb', line 14 def shell @shell ||= Thor::Shell::Basic.new end |