Module: LunchMoney::Validators
- Includes:
- Kernel
- Included in:
- Objects::Asset, Objects::Crypto, Objects::CryptoBase
- Defined in:
- lib/lunchmoney/validators.rb
Overview
module containing reusable methods for validating data objects
Instance Method Summary collapse
-
#validate_iso8601!(value, validate: nil) ⇒ String
-
#validate_one_of!(value, valid_values, validate: nil) ⇒ String
Instance Method Details
#validate_iso8601!(value, validate: nil) ⇒ String
24 25 26 27 28 29 30 31 |
# File 'lib/lunchmoney/validators.rb', line 24 def validate_iso8601!(value, validate: nil) should_validate = validate.nil? ? LunchMoney.validate_object_attributes? : validate return value unless should_validate raise(InvalidObjectAttribute, "#{value} is not a valid ISO 8601 string") unless valid_iso8601_string?(value) value end |
#validate_one_of!(value, valid_values, validate: nil) ⇒ String
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/lunchmoney/validators.rb', line 12 def validate_one_of!(value, valid_values, validate: nil) should_validate = validate.nil? ? LunchMoney.validate_object_attributes? : validate return value unless should_validate if valid_values.exclude?(value) raise(InvalidObjectAttribute, "#{value} is invalid, must be one of #{valid_values.join(", ")}") end value end |