Class: Kafo::Param
- Inherits:
-
Object
show all
- Defined in:
- lib/kafo/param.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(builder, name) ⇒ Param
Returns a new instance of Param.
10
11
12
13
|
# File 'lib/kafo/param.rb', line 10
def initialize(builder, name)
@name = name
@module = builder
end
|
Instance Attribute Details
#condition ⇒ Object
Returns the value of attribute condition.
7
8
9
|
# File 'lib/kafo/param.rb', line 7
def condition
@condition
end
|
#default ⇒ Object
Returns the value of attribute default.
7
8
9
|
# File 'lib/kafo/param.rb', line 7
def default
@default
end
|
#doc ⇒ Object
Returns the value of attribute doc.
7
8
9
|
# File 'lib/kafo/param.rb', line 7
def doc
@doc
end
|
#groups ⇒ Object
15
16
17
|
# File 'lib/kafo/param.rb', line 15
def groups
@groups || []
end
|
#module ⇒ Object
Returns the value of attribute module.
6
7
8
|
# File 'lib/kafo/param.rb', line 6
def module
@module
end
|
#name ⇒ Object
Returns the value of attribute name.
6
7
8
|
# File 'lib/kafo/param.rb', line 6
def name
@name
end
|
#value_set ⇒ Object
Returns the value of attribute value_set.
7
8
9
|
# File 'lib/kafo/param.rb', line 7
def value_set
@value_set
end
|
Instance Method Details
#<=>(o) ⇒ Object
86
87
88
89
90
91
92
|
# File 'lib/kafo/param.rb', line 86
def <=> o
unless KafoConfigure.config.app[:no_prefix]
r = self.module_name <=> o.module_name
return r unless r == 0
end
self.name <=> o.name
end
|
#condition_value ⇒ Object
98
99
100
|
# File 'lib/kafo/param.rb', line 98
def condition_value
value.to_s
end
|
#dump_default ⇒ Object
29
30
31
|
# File 'lib/kafo/param.rb', line 29
def dump_default
default
end
|
#module_name ⇒ Object
33
34
35
|
# File 'lib/kafo/param.rb', line 33
def module_name
self.module.name
end
|
#multivalued? ⇒ Boolean
To be overwritten in children
82
83
84
|
# File 'lib/kafo/param.rb', line 82
def multivalued?
false
end
|
#set_default(defaults) ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/kafo/param.rb', line 41
def set_default(defaults)
if default == 'UNSET'
self.value = nil
else
self.value = (value = defaults[default]) == :undef ? nil : value
end
end
|
#set_value_by_config(config) ⇒ Object
49
50
51
52
|
# File 'lib/kafo/param.rb', line 49
def set_value_by_config(config)
base = config[module_name]
self.value = base[name] if base.has_key?(name)
end
|
#to_s ⇒ Object
37
38
39
|
# File 'lib/kafo/param.rb', line 37
def to_s
"#<#{self.class}:#{self.object_id} @name=#{name.inspect} @default=#{default.inspect} @value=#{value.inspect}>"
end
|
#valid? ⇒ Boolean
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/kafo/param.rb', line 54
def valid?
validations = self.module.validations(self)
validations.map! do |v|
v = v.clone
if v.name == 'validate_re'
args = v.arguments
else
args = v.arguments.select { |a| a.to_s == "$#{self.name}" }
end
v.arguments = Puppet::Parser::AST::ASTArray.new :children => args
v
end
validator = Validator.new([self])
validations.map! do |v|
result = v.evaluate(validator)
result = true if v.name == 'validate_re' && result.nil?
result
end
validations.all?
end
|
#value ⇒ Object
we use @value_set flag because even nil can be valid value
20
21
22
|
# File 'lib/kafo/param.rb', line 20
def value
@value_set ? @value : default
end
|
#value=(value) ⇒ Object
24
25
26
27
|
# File 'lib/kafo/param.rb', line 24
def value=(value)
@value_set = true
@value = value == 'UNDEF' ? nil : value
end
|
#visible?(context = []) ⇒ Boolean
94
95
96
|
# File 'lib/kafo/param.rb', line 94
def visible?(context = [])
condition.nil? || condition.empty? ? true : evaluate_condition(context)
end
|