Class: AmazonFnskuValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- AmazonFnskuValidator
- Defined in:
- app/validators/amazon_fnsku_validator.rb
Overview
app/validators/amazon_fnsku_validator.rb
Constant Summary collapse
- FNSKU_REGEX =
/\AX[A-Z0-9]{9}\z/- MESSAGE =
"must start with 'X' and be followed by 9 alphanumeric characters"
Class Method Summary collapse
-
.valid?(fnsku) ⇒ Boolean
Optional: Add a class method for direct validation.
Instance Method Summary collapse
Class Method Details
.valid?(fnsku) ⇒ Boolean
Optional: Add a class method for direct validation
15 16 17 |
# File 'app/validators/amazon_fnsku_validator.rb', line 15 def self.valid?(fnsku) fnsku.present? && fnsku.match?(FNSKU_REGEX) end |
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
6 7 8 9 10 11 12 |
# File 'app/validators/amazon_fnsku_validator.rb', line 6 def validate_each(record, attribute, value) return if value.blank? && [:allow_nil] return if self.class.valid?(value) record.errors.add(attribute, [:message] || MESSAGE) end |