class Bricolage::EnumParam
Public Class Methods
new(name, list, description, default: nil, publish: false)
click to toggle source
Calls superclass method
Bricolage::Param::new
# File lib/bricolage/parameters.rb, line 419 def initialize(name, list, description, default: nil, publish: false) super name, 'VALUE', description, optional: (default ? true : false), publish: publish @list = list.map {|val| val.to_s.freeze } @default_value = default end
Public Instance Methods
default_value(ctx, vars)
click to toggle source
# File lib/bricolage/parameters.rb, line 429 def default_value(ctx, vars) @default_value end
description()
click to toggle source
# File lib/bricolage/parameters.rb, line 425 def description "#{super} (#{@list.join(', ')})" + (@default ? " [default: #{@default}]" : '') end
materialize(value, ctx, vars)
click to toggle source
# File lib/bricolage/parameters.rb, line 433 def materialize(value, ctx, vars) val = expand(value.to_s, vars) unless @list.include?(val) raise ParameterError, "unknown value for enum parameter '#{name}': #{val.inspect}" end val end
variables(val)
click to toggle source
# File lib/bricolage/parameters.rb, line 441 def variables(val) wrap_variable_value(val) end