class Tumugi::Parameter::Parameter
Attributes
name[RW]
Public Class Methods
new(name, opts={})
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 9 def initialize(name, opts={}) @name = name @opts = opts validate end
Public Instance Methods
auto_bind?()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 22 def auto_bind? option_as_bool(:auto_bind) end
default_value()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 34 def default_value @opts[:default].nil? ? nil : @opts[:default] end
get()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 15 def get if auto_bind? value = search_from_workflow_parameters end value.nil? ? default_value : value end
merge_default_value(value)
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 38 def merge_default_value(value) self.class.new(@name, @opts.merge(required: false, default: value)) end
required?()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 26 def required? option_as_bool(:required) end
secret?()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 42 def secret? option_as_bool(:secret) end
type()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 30 def type @opts[:type] || :string end
Private Instance Methods
option_as_bool(key)
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 60 def option_as_bool(key) @opts[key].nil? ? false : @opts[key] end
search_from_workflow_parameters()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 48 def search_from_workflow_parameters key = @name.to_s value = Tumugi.workflow.params[key] value ? Converter.convert(type, value) : nil end
validate()
click to toggle source
# File lib/tumugi/parameter/parameter.rb, line 54 def validate if required? && !default_value.nil? raise Tumugi::ParameterError.new("When you set required: true, you cannot set default value") end end