Class: Rant::Plugin::ConfigureCheck
- Includes:
- Console
- Defined in:
- lib/rant/plugin/configure.rb
Overview
class Configure
Instance Attribute Summary collapse
- #default(val) ⇒ Object
-
#guess_block ⇒ Object
Returns the value of attribute guess_block.
-
#interact_block ⇒ Object
Returns the value of attribute interact_block.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#react_block ⇒ Object
Returns the value of attribute react_block.
-
#value ⇒ Object
Returns the value of attribute value.
Instance Method Summary collapse
- #guess(&block) ⇒ Object
-
#initialize(key, val = nil) {|_self| ... } ⇒ ConfigureCheck
constructor
A new instance of ConfigureCheck.
- #interact(&block) ⇒ Object
- #react(&block) ⇒ Object
-
#run_check(modes = [:guess], env = ENV) ⇒ Object
Run checks as specified by
modes
.
Constructor Details
#initialize(key, val = nil) {|_self| ... } ⇒ ConfigureCheck
Returns a new instance of ConfigureCheck.
314 315 316 317 318 319 320 321 |
# File 'lib/rant/plugin/configure.rb', line 314 def initialize(key, val = nil) @key = key or raise ArgumentError, "no key given" @value = @default = val @guess_block = nil @interact_block = nil @react_block = nil yield self if block_given? end |
Instance Attribute Details
#default(val) ⇒ Object
322 323 324 325 |
# File 'lib/rant/plugin/configure.rb', line 322 def default(val) @default = val @value = @default if @value.nil? end |
#guess_block ⇒ Object
Returns the value of attribute guess_block.
311 312 313 |
# File 'lib/rant/plugin/configure.rb', line 311 def guess_block @guess_block end |
#interact_block ⇒ Object
Returns the value of attribute interact_block.
312 313 314 |
# File 'lib/rant/plugin/configure.rb', line 312 def interact_block @interact_block end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
308 309 310 |
# File 'lib/rant/plugin/configure.rb', line 308 def key @key end |
#react_block ⇒ Object
Returns the value of attribute react_block.
313 314 315 |
# File 'lib/rant/plugin/configure.rb', line 313 def react_block @react_block end |
#value ⇒ Object
Returns the value of attribute value.
309 310 311 |
# File 'lib/rant/plugin/configure.rb', line 309 def value @value end |
Instance Method Details
#guess(&block) ⇒ Object
326 327 328 |
# File 'lib/rant/plugin/configure.rb', line 326 def guess(&block) @guess_block = block end |
#interact(&block) ⇒ Object
329 330 331 |
# File 'lib/rant/plugin/configure.rb', line 329 def interact(&block) @interact_block = block end |
#react(&block) ⇒ Object
332 333 334 |
# File 'lib/rant/plugin/configure.rb', line 332 def react(&block) @react_block = block end |
#run_check(modes = [:guess], env = ENV) ⇒ Object
Run checks as specified by modes
. modes
has to be a list of symbols from the Configure::CHECK_MODES.
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/rant/plugin/configure.rb', line 338 def run_check(modes = [:guess], env = ENV) val = nil modes.each { |mode| case mode when :default val = @default when :env val = env[@key] when :interact val = @interact_block[self] if @interact_block when :guess val = @guess_block[self] if @guess_block else raise "unknown configure mode" end break unless val.nil? } val.nil? or @value = val @react_block && @react_block[@value] @value end |