Method: ALib::AbstractMain#param

Defined in:
lib/alib-0.5.0/main.rb

#param(name, *a) ⇒ Object Also known as: parm

–}}}



903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
# File 'lib/alib-0.5.0/main.rb', line 903

def param name, *a 
#--{{{
  key = name.to_s
  pm = params[key] or raise "no such param <#{ key }>!"

  value =
    if options.has_key? key 
      options[key] || default(key)
    else
      a.empty? ? default(key) : a.shift
    end

  #value = value.call if value.respond_to?('call')
  value = instance_eval &value if Proc === value

  #value = pm.cast[value] if(option?(key) and pm.cast?)
  value = pm.cast[value] if(value and pm.cast?)

  value
#--}}}
end