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