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
201 202 203 |
# File 'lib/libis/tools/parameter.rb', line 201 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#[](name) ⇒ Object
222 223 224 |
# File 'lib/libis/tools/parameter.rb', line 222 def [](name) parameter(name) end |
#[]=(name, value) ⇒ Object
226 227 228 229 230 |
# File 'lib/libis/tools/parameter.rb', line 226 def []=(name, value) parameter name, value rescue ParameterFrozenError # ignored end |
#parameter(name, value = NO_VALUE) ⇒ Object
207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
# File 'lib/libis/tools/parameter.rb', line 207 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) if param_def[:frozen] raise ParameterFrozenError, "Parameter '#{param_def[:name]}' is frozen in '#{self.class.name}'" end parameters[name] = value end end |