Module: ShipEngine::Utils::Validate
- Defined in:
- lib/shipengine/utils/validate.rb
Class Method Summary collapse
- .array(field, value) ⇒ Object
- .array_of_str(field, value) ⇒ Object
- .bool(field, value) ⇒ Object
- .hash(field, value) ⇒ Object
- .int(field, value) ⇒ Object
- .non_empty_str(field, value) ⇒ Object
- .non_neg_int(field, value) ⇒ Object
- .non_whitespace_str(field, value) ⇒ Object
- .not_nil(field, value) ⇒ Object
- .not_nil_or_empty_str(field, value) ⇒ Object
- .number(field, value) ⇒ Object
- .positive_int(field, value) ⇒ Object
- .str(field, value) ⇒ Object
Class Method Details
.array(field, value) ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/shipengine/utils/validate.rb', line 83 def array(field, value) not_nil(field, value) return if value.is_a?(Array) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be an Array.") end |
.array_of_str(field, value) ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'lib/shipengine/utils/validate.rb', line 91 def array_of_str(field, value) array(field, value) value.each do |v| next if v.is_a?(String) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be an Array of Strings.") end end |
.bool(field, value) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/shipengine/utils/validate.rb', line 48 def bool(field, value) not_nil(field, value) return if [true, false].include?(value) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be a Boolean.") end |
.hash(field, value) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/shipengine/utils/validate.rb', line 41 def hash(field, value) not_nil(field, value) return if value.is_a?(Hash) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be Hash.") end |
.int(field, value) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/shipengine/utils/validate.rb', line 62 def int(field, value) number(field, value) return if value.to_i == value raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be a whole number.") end |
.non_empty_str(field, value) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/shipengine/utils/validate.rb', line 27 def non_empty_str(field, value) str(field, value) return unless value.empty? raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} cannot be empty.") end |
.non_neg_int(field, value) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/shipengine/utils/validate.rb', line 69 def non_neg_int(field, value) int(field, value) return if value >= 0 raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be zero or greater.") end |
.non_whitespace_str(field, value) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/shipengine/utils/validate.rb', line 34 def non_whitespace_str(field, value) str(field, value) return unless value.strip.empty? raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} cannot be all whitespace.") end |
.not_nil(field, value) ⇒ Object
7 8 9 10 11 |
# File 'lib/shipengine/utils/validate.rb', line 7 def not_nil(field, value) return unless value.nil? raise ShipEngine::Exceptions.required_error(field_name: field) end |
.not_nil_or_empty_str(field, value) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/shipengine/utils/validate.rb', line 13 def not_nil_or_empty_str(field, value) not_nil(field, value) return unless value == "" raise ShipEngine::Exceptions.required_error(field_name: field) end |
.number(field, value) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/shipengine/utils/validate.rb', line 55 def number(field, value) not_nil(field, value) return if value.is_a?(Numeric) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be Numeric.") end |
.positive_int(field, value) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/shipengine/utils/validate.rb', line 76 def positive_int(field, value) int(field, value) return if value.positive? raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be greater than zero.") end |
.str(field, value) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/shipengine/utils/validate.rb', line 20 def str(field, value) not_nil(field, value) return if value.is_a?(String) raise ShipEngine::Exceptions.invalid_field_value_error(message: "#{field} must be a String.") end |