class Moonshot::StackParameter
Attributes
default[R]
description[R]
name[R]
Public Class Methods
new(name, default: nil, use_previous: false, description: '')
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 7 def initialize(name, default: nil, use_previous: false, description: '') @default = default @description = description @name = name @use_previous = use_previous @value = nil end
Public Instance Methods
default?()
click to toggle source
Does this Stack
Parameter have a default value that will be used?
# File lib/moonshot/stack_parameter.rb, line 16 def default? !@default.nil? end
set(value)
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 29 def set(value) @value = value @use_previous = false end
set?()
click to toggle source
Has the user provided a value for this parameter?
# File lib/moonshot/stack_parameter.rb, line 25 def set? !@value.nil? end
to_cf()
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 52 def to_cf result = { parameter_key: @name } if use_previous? result[:use_previous_value] = true else result[:parameter_value] = value end result end
use_previous!(value)
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 34 def use_previous!(value) if @value raise "Value already set for StackParameter #{@name}, cannot use previous value!" end # Make the current value available to plugins. @value = value @use_previous = true end
use_previous?()
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 20 def use_previous? @use_previous ? true : false end
value()
click to toggle source
# File lib/moonshot/stack_parameter.rb, line 44 def value unless @value || default? raise "No value set and no default for StackParameter #{@name}!" end @value || default end