Class: RQR::ConfigTable::ExecItem

Inherits:
Item
  • Object
show all
Defined in:
lib/rqr.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.



424
425
426
427
428
# File 'lib/rqr.rb', line 424

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

Instance Method Details

#config_typeObject



430
431
432
# File 'lib/rqr.rb', line 430

def config_type
  'exec'
end

#evaluate(val, table) ⇒ Object



444
445
446
447
448
449
450
# File 'lib/rqr.rb', line 444

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



438
439
440
# File 'lib/rqr.rb', line 438

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

#value?Boolean

Returns:

  • (Boolean)


434
435
436
# File 'lib/rqr.rb', line 434

def value?
  false
end