Class: Sfn::Utils::StackParameterValidator
- Inherits:
-
Object
- Object
- Sfn::Utils::StackParameterValidator
- Extended by:
- Bogo::AnimalStrings
- Defined in:
- lib/sfn/utils/stack_parameter_validator.rb
Overview
Helper utility for validating stack parameters
Class Method Summary collapse
-
.allowed_pattern(value, pdef) ⇒ TrueClass, String
Parameter matches allowed pattern.
-
.allowed_values(value, pdef) ⇒ TrueClass, String
Parameter is within allowed values.
-
.max_length(value, pdef) ⇒ TrueClass, String
Parameter length is less than or equal to max length.
-
.max_value(value, pdef) ⇒ TrueClass, String
Parameter value is less than or equal to max value.
-
.min_length(value, pdef) ⇒ TrueClass, String
Parameter length is greater than or equal to min length.
-
.min_value(value, pdef) ⇒ TrueClass, String
Parameter value is greater than or equal to min value.
-
.validate(value, parameter_definition) ⇒ TrueClass, Array<String>
Validate a parameters.
Class Method Details
.allowed_pattern(value, pdef) ⇒ TrueClass, String
Parameter matches allowed pattern
57 58 59 60 61 62 63 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 57 def allowed_pattern(value, pdef) if(value.match(/#{pdef['AllowedPattern']}/)) true else "Not a valid pattern. Must match: #{pdef['AllowedPattern']}" end end |
.allowed_values(value, pdef) ⇒ TrueClass, String
Parameter is within allowed values
43 44 45 46 47 48 49 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 43 def allowed_values(value, pdef) if(pdef['AllowedValues'].include?(value)) true else "Not an allowed value: #{pdef['AllowedValues'].join(', ')}" end end |
.max_length(value, pdef) ⇒ TrueClass, String
Parameter length is less than or equal to max length
71 72 73 74 75 76 77 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 71 def max_length(value, pdef) if(value.length <= pdef['MaxLength'].to_i) true else "Value must not exceed #{pdef['MaxLength']} characters" end end |
.max_value(value, pdef) ⇒ TrueClass, String
Parameter value is less than or equal to max value
99 100 101 102 103 104 105 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 99 def max_value(value, pdef) if(value.to_i <= pdef['MaxValue'].to_i) true else "Value must not be greater than #{pdef['MaxValue']}" end end |
.min_length(value, pdef) ⇒ TrueClass, String
Parameter length is greater than or equal to min length
85 86 87 88 89 90 91 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 85 def min_length(value, pdef) if(value.length >= pdef['MinLength'].to_i) true else "Value must be at least #{pdef['MinLength']} characters" end end |
.min_value(value, pdef) ⇒ TrueClass, String
Parameter value is greater than or equal to min value
113 114 115 116 117 118 119 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 113 def min_value(value, pdef) if(value.to_i >= pdef['MinValue'].to_i) true else "Value must not be less than #{pdef['MinValue']}" end end |
.validate(value, parameter_definition) ⇒ TrueClass, Array<String>
Validate a parameters
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/sfn/utils/stack_parameter_validator.rb', line 23 def validate(value, parameter_definition) return [[:blank, 'Value cannot be blank']] if value.to_s.strip.empty? result = %w(AllowedValues AllowedPattern MaxLength MinLength MaxValue MinValue).map do |key| if(parameter_definition[key]) res = self.send(snake(key), value, parameter_definition) res == true ? true : [snake(key), res] else true end end result.delete_if{|x| x == true} result.empty? ? true : result end |