Class: Bricolage::StringListParam

Inherits:
Param
  • Object
show all
Defined in:
lib/bricolage/parameters.rb

Instance Attribute Summary

Attributes inherited from Param

#arg_spec, #description, #name

Instance Method Summary collapse

Methods inherited from Param

#have_arg?, #inspect, #option_name, #optional?, #publish?, #required?

Constructor Details

#initialize(name, arg_spec, description, optional: false, publish: false) ⇒ StringListParam

Returns a new instance of StringListParam.



607
608
609
# File 'lib/bricolage/parameters.rb', line 607

def initialize(name, arg_spec, description, optional: false, publish: false)
  super name, arg_spec, description, optional: optional, publish: publish
end

Instance Method Details

#default_value(ctx, vars) ⇒ Object



621
622
623
# File 'lib/bricolage/parameters.rb', line 621

def default_value(ctx, vars)
  []
end

#materialize(vals, ctx, vars) ⇒ Object



625
626
627
# File 'lib/bricolage/parameters.rb', line 625

def materialize(vals, ctx, vars)
  vals.map {|val| expand(val, vars) }
end

#parse_option_value(value, list) ⇒ Object



611
612
613
614
# File 'lib/bricolage/parameters.rb', line 611

def parse_option_value(value, list)
  (list ||= []).push value
  list   # accumulator
end

#parse_value(vals) ⇒ Object

Raises:



616
617
618
619
# File 'lib/bricolage/parameters.rb', line 616

def parse_value(vals)
  raise ParameterError, "bad type for parameter #{name}: #{vals.class}" unless vals.kind_of?(Array)
  vals.empty? ? nil : vals
end

#variables(strs) ⇒ Object



629
630
631
# File 'lib/bricolage/parameters.rb', line 629

def variables(strs)
  wrap_variable_value(strs.join(' '))
end