Module: GemSuit::CLI::Base::Shell::InstanceMethods

Defined in:
lib/gem_suit/cli/base/shell.rb

Instance Method Summary collapse

Instance Method Details

#agree?(question, default = nil) ⇒ Boolean

Returns:

  • (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 options.interactive? || default.nil?
  answer.nil? || answer.empty? ? default.to_s : answer
end

#is?(*args) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/gem_suit/cli/base/shell.rb', line 18

def is?(*args)
  shell.send :is?, *args
end

#shellObject



14
15
16
# File 'lib/gem_suit/cli/base/shell.rb', line 14

def shell
  @shell ||= Thor::Shell::Basic.new
end