Module: Libis::Tools::ParameterContainer

Defined in:
lib/libis/tools/parameter.rb

Overview

Parameter

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

NO_VALUE =
'##NAV##'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



166
167
168
# File 'lib/libis/tools/parameter.rb', line 166

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#[](name) ⇒ Object



184
185
186
# File 'lib/libis/tools/parameter.rb', line 184

def [](name)
  parameter(name)
end

#[]=(name, value) ⇒ Object



188
189
190
# File 'lib/libis/tools/parameter.rb', line 188

def []=(name, value)
  parameter name, value
end

#parameter(name, value = NO_VALUE) ⇒ Object



172
173
174
175
176
177
178
179
180
181
182
# File 'lib/libis/tools/parameter.rb', line 172

def parameter(name, value = NO_VALUE)
  param_def = get_parameter_definition(name)
  return NO_VALUE unless param_def
  if value.equal? NO_VALUE
    param_value = parameters[name]
    param_def.parse(param_value)
  else
    return NO_VALUE unless param_def.valid_value?(value)
    parameters[name] = value
  end
end