class Main::Parameter::DSL

Attributes

param[R]

Public Class Methods

evaluate(param, &block) click to toggle source
# File lib/main/parameter.rb, line 554
def self.evaluate param, &block
  new(param).instance_eval(&block)
end
new(param) click to toggle source
# File lib/main/parameter.rb, line 560
def initialize param
  @param = param
end

Public Instance Methods

argument(arg) click to toggle source
# File lib/main/parameter.rb, line 600
def argument arg 
  param.argument arg 
end
argument_optional(bool = true) click to toggle source
# File lib/main/parameter.rb, line 614
def argument_optional bool = true
  if bool
    param.argument :optional
  else
    param.argument false 
  end
end
argument_optional?() click to toggle source
# File lib/main/parameter.rb, line 621
def argument_optional?
  param.argument_optional?
end
argument_required(bool = true) click to toggle source
# File lib/main/parameter.rb, line 603
def argument_required bool = true
  if bool
    param.argument :required
  else
    param.argument false 
  end
end
argument_required?() click to toggle source
# File lib/main/parameter.rb, line 610
def argument_required?
  param.argument_required?
end
arity(value) click to toggle source
# File lib/main/parameter.rb, line 682
def arity value
  raise Arity if value.nil?
  value = -1 if value.to_s == '*'
  value = Integer value
  raise Arity if value.zero?
  param.arity = value
  if param.arity == -1
    optional true
  end
  value
end
arity?() click to toggle source
# File lib/main/parameter.rb, line 693
def arity?
  param.arity?
end
attr(*a, &b) click to toggle source
# File lib/main/parameter.rb, line 577
def attr(*a, &b)
  fattr(*a, &b)
end
cast(sym=nil, &b) click to toggle source
# File lib/main/parameter.rb, line 643
def cast sym=nil, &b 
  param.cast = sym || b 
end
cast?() click to toggle source
# File lib/main/parameter.rb, line 646
def cast?
  param.cast?
end
default(*values, &block) click to toggle source
# File lib/main/parameter.rb, line 665
def default *values, &block
  if block.nil? and values.empty?
    raise ArgumentError, 'no default'
  end
  unless values.empty?
    param.defaults.push(*values)
  end
  unless block.nil?
    param.defaults.push block
  end
  param.defaults
end
defaults?() click to toggle source
# File lib/main/parameter.rb, line 678
def defaults?
  param.defaults?
end
description(s) click to toggle source
# File lib/main/parameter.rb, line 657
def description s 
  param.description = s.to_s
end
description?() click to toggle source
# File lib/main/parameter.rb, line 660
def description?
  param.description?
end
error(which = :instead, &block) click to toggle source
# File lib/main/parameter.rb, line 697
def error which = :instead, &block
  param.send "error_handler_#{ which }=", block
end
example(*list) click to toggle source
# File lib/main/parameter.rb, line 581
def example *list
  list.flatten.compact.each do |elem|
    param.examples << elem.to_s
  end
end
fattr(a = nil, &block) click to toggle source
# File lib/main/parameter.rb, line 564
def fattr a = nil, &block
  name = param.name
  a ||= name
  b = fattr_block_for(name, &block)
  @param.main.module_eval{ fattr(*a, &b) }
end
fattr_block_for(name, &block) click to toggle source
# File lib/main/parameter.rb, line 572
def fattr_block_for name, &block
  block ||= lambda{|param| [0,1].include?(param.arity) ? param.value : param.values }
  lambda{|*args| block.call(self.param[name]) }
end
optional(bool = true) click to toggle source
# File lib/main/parameter.rb, line 632
def optional bool = true 
  if bool 
    param.required !bool  
  else
    param.required bool  
  end
end
optional?() click to toggle source
# File lib/main/parameter.rb, line 639
def optional?
  param.optional?
end
required(bool = true) click to toggle source
# File lib/main/parameter.rb, line 625
def required bool = true 
  param.required = bool 
end
required?() click to toggle source
# File lib/main/parameter.rb, line 628
def required?
  param.required?
end
synopsis(*arg) click to toggle source
# File lib/main/parameter.rb, line 596
def synopsis *arg 
  arg.size == 0 ? param.synopsis : (param.synopsis arg.first)
end
type(*sym) click to toggle source
# File lib/main/parameter.rb, line 589
def type *sym
  sym.size == 0 ? param.type : (param.type = sym.first)
end
type?() click to toggle source
# File lib/main/parameter.rb, line 592
def type?
  param.type?
end
validate(sym=nil, &b) click to toggle source
# File lib/main/parameter.rb, line 650
def validate sym=nil, &b 
  param.validate = sym || b 
end
validate?() click to toggle source
# File lib/main/parameter.rb, line 653
def validate?
  param.validate?
end