Class: Spider::Wizard

Inherits:
Object show all
Defined in:
lib/spiderfw/setup/spider_setup_wizard.rb

Instance Method Summary collapse

Constructor Details

#initializeWizard

Returns a new instance of Wizard.



126
127
128
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 126

def initialize
    @_keys = {}
end

Instance Method Details

#add_key(name) ⇒ Object



163
164
165
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 163

def add_key(name)
    @_keys[name] = true
end

#ask(msg, *args) ⇒ Object



130
131
132
133
134
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 130

def ask(msg, *args)
    var_name = args.shift if args[0] && !args[0].is_a?(Hash)
    options = args.shift
    do_ask(msg, var_name, options)
end

#ask!(msg, *args) ⇒ Object



141
142
143
144
145
146
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 141

def ask!(msg, *args)
    var_name = args.shift if args[0] && !args[0].is_a?(Hash)
    options = args.shift || {}
    options[:required] = true
    do_ask(msg, var_name, options)
end

#ask?(msg, options = {}) ⇒ Boolean

Returns:

  • (Boolean)


136
137
138
139
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 136

def ask?(msg, options={})
    options[:type] = Spider::Bool
    do_ask(msg, nil, options)
end

#do_askObject



149
150
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 149

def do_ask
end

#get_value(name) ⇒ Object



172
173
174
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 172

def get_value(name)
    instance_variable_get("@#{name}")
end

#implementation(mod) ⇒ Object



152
153
154
155
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 152

def implementation(mod)
    extend mod
    @implementation = mod
end

#set_value(name, val) ⇒ Object



167
168
169
170
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 167

def set_value(name, val)
    @_keys[name] = true
    instance_variable_set("@#{name}", val)
end

#valuesObject



176
177
178
179
180
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 176

def values
    @_keys.keys.map{ |k|
        get_value(k)
    }
end

#wizard_instance(klass) ⇒ Object



157
158
159
160
161
# File 'lib/spiderfw/setup/spider_setup_wizard.rb', line 157

def wizard_instance(klass)
    wizard = klass.new
    wizard.implementation(@implementation)
    wizard
end