class Kontena::Cli::Stacks::YAML::Prompt
Public Instance Methods
ask()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 62 def ask prompt.ask(question_text, default: option.default, echo: echo?) end
bool()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 51 def bool prompt.yes?(question_text, default: option.default.nil? || option.default) end
boolean?()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 14 def boolean? option.type == 'boolean' end
echo?()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 55 def echo? return true if option.handler.nil? return true if option.handler.options.nil? return true if option.handler.options[:echo].nil? option.handler.options[:echo] end
enum()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 32 def enum opts = option.handler.options[:options] opts << { label: '(Other)', value: nil, description: '(Other)' } if enum_can_be_other? answer = prompt.select(question_text) do |menu| menu.enum ':' # makes it show numbers before values, you can press the number to select. menu.default(opts.index {|opt| opt[:value] == option.default }.to_i + 1) if option.default opts.each do |opt| menu.choice opt[:label], opt[:value] end end if answer.nil? && enum_can_be_other? ask else answer end end
enum?()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 10 def enum? option.type == 'enum' end
enum_can_be_other?()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 28 def enum_can_be_other? enum? && option.handler.options[:can_be_other] ? true : false end
prompt_word()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 18 def prompt_word return "Select" if enum? return "Enable" if boolean? "Enter" end
question_text()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 24 def question_text (!hint.nil? && hint != option.name) ? "#{hint} :" : "#{prompt_word} #{option.label || option.name} :" end
resolve()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb, line 66 def resolve return nil if option.skip? if enum? enum elsif boolean? bool else ask end end