Module: Bebox::WizardsHelper

Included in:
CommandsHelper, EnvironmentWizard, NodeWizard, ProfileWizard, ProjectWizard, ProvisionWizard, RoleWizard
Defined in:
lib/bebox/wizards/wizards_helper.rb

Instance Method Summary collapse

Instance Method Details

#choose_option(options, question) ⇒ Object

Asks to choose an option



26
27
28
29
30
31
32
33
34
# File 'lib/bebox/wizards/wizards_helper.rb', line 26

def choose_option(options, question)
  require 'highline/import'
  choose do |menu|
    menu.header = title(question)
    options.each do |option|
      menu.choice(option)
    end
  end
end

#confirm_action?(message) ⇒ Boolean

Ask for confirmation of any action

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
# File 'lib/bebox/wizards/wizards_helper.rb', line 5

def confirm_action?(message)
  require 'highline/import'
  quest message
  response =  ask(highline_quest('(y/n)')) do |q|
    q.default = "n"
  end
  return response == 'y' ? true : false
end

#valid_puppet_class_name?(name) ⇒ Boolean

Check if the puppet resource has a valid name

Returns:

  • (Boolean)


37
38
39
40
# File 'lib/bebox/wizards/wizards_helper.rb', line 37

def valid_puppet_class_name?(name)
  valid_name = (name =~ /\A[a-z][a-z0-9_]*\Z/).nil? ? false : true
  valid_name && !Bebox::RESERVED_WORDS.include?(name)
end

#write_input(message, default = nil, validator = nil, not_valid_message = nil) ⇒ Object

Ask to write some input with validation



15
16
17
18
19
20
21
22
23
# File 'lib/bebox/wizards/wizards_helper.rb', line 15

def write_input(message, default=nil, validator=nil, not_valid_message=nil)
  require 'highline/import'
  response =  ask(highline_quest(message)) do |q|
    q.default = default if default
    q.validate = /\.(.*)/ if validator
    q.responses[:not_valid] = highline_warn(not_valid_message) if not_valid_message
  end
  return response
end