Method: Magiq::Param#initialize

Defined in:
lib/magiq/param.rb

#initialize(key, opts = {}) ⇒ Param

Returns a new instance of Param.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/magiq/param.rb', line 15

def initialize(key, opts = {})
  @key     = key.to_sym
  @type    = Types.lookup(opts[TYPE] || :string)
  @solo    = opts[SOLO]  ? true : false
  @limit   = opts[LIMIT] || Magiq[:array_param_limit]
  @aliases = opts[ALIAS] ? Array(opts[:alias]) : []
  @keys    = [@key].concat(@aliases).map(&:to_sym)

  @array = case opts[ARRAY]
  when :always
    :always
  when :allow
    :allow
  when nil, false
    false
  else
    raise ArgumentError, ":array option must be :always, :allow, or false, " \
    "not: #{opts[ARRAY].inspect}"
  end
end