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
97
98
99
100
101
102
103
|
# File 'lib/kafo/param.rb', line 97
def <=> o
unless @module.configuration.app[:no_prefix]
r = self.module_name <=> o.module_name
return r unless r == 0
end
self.name <=> o.name
end
|
#condition_value ⇒ Object
109
110
111
|
# File 'lib/kafo/param.rb', line 109
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
93
94
95
|
# File 'lib/kafo/param.rb', line 93
def multivalued?
false
end
|
#set_default(defaults) ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/kafo/param.rb', line 41
def set_default(defaults)
if default == 'UNSET'
self.value = nil
else
if defaults.has_key?(default)
value = defaults[default]
case value
when :undef
self.value = nil
when :undefined
self.value = self.default
else
self.value = value
end
else
self.value = self.default
end
end
end
|
#set_value_by_config(config) ⇒ Object
70
71
72
73
|
# File 'lib/kafo/param.rb', line 70
def set_value_by_config(config)
base = config[self.module.class_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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# File 'lib/kafo/param.rb', line 75
def valid?
validations = self.module.validations(self).map do |v|
if v.name == 'validate_re' || v.name == 'validate_integer'
args = v.arguments.to_a
else
args = v.arguments.select { |a| a.to_s == "$#{self.name}" }
end
{:name => v.name, :arguments => interpret_validation_args(args)}
end
validator = Validator.new
validations.all? { |v| validator.send(v[:name], v[:arguments]) }
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
105
106
107
|
# File 'lib/kafo/param.rb', line 105
def visible?(context = [])
condition.nil? || condition.empty? ? true : evaluate_condition(context)
end
|