Class: Muwu::ProjectOptionValidatorValue
- Inherits:
-
Object
- Object
- Muwu::ProjectOptionValidatorValue
show all
- Includes:
- Muwu, Helper
- Defined in:
- lib/muwu/project_options_builder/project_option_validator_value.rb
Constant Summary
Constants included
from Muwu
GEM_HOME_LIB, GEM_HOME_LIB_MUWU, VERSION
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Muwu
debug, read
Constructor Details
Returns a new instance of ProjectOptionValidatorValue.
19
20
21
22
23
24
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 19
def initialize(key_validated, value_provided, project)
@key_validated = key_validated.to_s.gsub(/\W/,'_')
@project = project
@validation_method_name = "validate_option_#{@key_validated}"
@value_provided = value_provided
end
|
Instance Attribute Details
#key_validated ⇒ Object
Returns the value of attribute key_validated.
11
12
13
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 11
def key_validated
@key_validated
end
|
#project ⇒ Object
Returns the value of attribute project.
11
12
13
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 11
def project
@project
end
|
#validation_method_name ⇒ Object
Returns the value of attribute validation_method_name.
11
12
13
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 11
def validation_method_name
@validation_method_name
end
|
#value_provided ⇒ Object
Returns the value of attribute value_provided.
11
12
13
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 11
def value_provided
@value_provided
end
|
Instance Method Details
#validated_value ⇒ Object
30
31
32
33
34
35
36
37
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 30
def validated_value
if private_methods.include?(@validation_method_name.to_sym)
return method(@validation_method_name).call
else
@project.exceptions_add ProjectException::OptionNotValidatable.new(@key_validated)
return nil
end
end
|
#value_as_array(value) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 40
def value_as_array(value)
result = []
case value
when String
result = value.split(/,\s*/).map{ |v| value_as_string(v) }.sort
when Array
result = value.map{ |v| value_as_string(v) }.sort
when FalseClass, TrueClass
result << value
end
result.reject!{ |r| r == '' }
result
end
|
#value_as_integer(value) ⇒ Object
55
56
57
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 55
def value_as_integer(value)
value.to_i
end
|
#value_as_string(value) ⇒ Object
60
61
62
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 60
def value_as_string(value)
value.to_s.strip.downcase
end
|
#value_as_string_preserving_case(value) ⇒ Object
65
66
67
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 65
def value_as_string_preserving_case(value)
value.to_s.strip
end
|
#value_provided_as_array ⇒ Object
70
71
72
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 70
def value_provided_as_array
value_as_array(@value_provided)
end
|
#value_provided_as_integer ⇒ Object
75
76
77
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 75
def value_provided_as_integer
value_as_integer(@value_provided)
end
|
#value_provided_as_string ⇒ Object
80
81
82
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 80
def value_provided_as_string
value_as_string(@value_provided)
end
|
#value_provided_as_string_preserving_case ⇒ Object
85
86
87
|
# File 'lib/muwu/project_options_builder/project_option_validator_value.rb', line 85
def value_provided_as_string_preserving_case
value_as_string_preserving_case(@value_provided)
end
|