Class: ConfigTable::ExecItem

Inherits:
Item show all
Defined in:
lib/roebe/setup/setup.rb

Instance Attribute Summary

Attributes inherited from Item

#default, #description, #name

Instance Method Summary collapse

Methods inherited from Item

#help_opt, #set, #value

Constructor Details

#initialize(name, selection, desc, &block) ⇒ ExecItem

Returns a new instance of ExecItem.



478
479
480
481
482
# File 'lib/roebe/setup/setup.rb', line 478

def initialize(name, selection, desc, &block)
  super name, selection, nil, desc
  @ok = selection.split('/')
  @action = block
end

Instance Method Details

#config_typeObject



484
485
486
# File 'lib/roebe/setup/setup.rb', line 484

def config_type
  'exec'
end

#evaluate(val, table) ⇒ Object



498
499
500
501
502
503
504
# File 'lib/roebe/setup/setup.rb', line 498

def evaluate(val, table)
  v = val.strip.downcase
  unless @ok.include?(v)
    setup_rb_error "invalid option --#{@name}=#{val} (use #{@template})"
  end
  @action.call v, table
end

#resolve(table) ⇒ Object



492
493
494
# File 'lib/roebe/setup/setup.rb', line 492

def resolve(table)
  setup_rb_error "$#{name()} wrongly used as option value"
end

#value?Boolean

Returns:

  • (Boolean)


488
489
490
# File 'lib/roebe/setup/setup.rb', line 488

def value?
  false
end