Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class EmailFraudPreventionValidator < ActiveModel::Validator
- def validate(record)
- emailage_service = User::EmailageService.new(record)
- if emailage_service.valid_customer?
- record.risk_band = emailage_service.risk_band
- else
- emailage_error = error_message(emailage_service.error)
- add_record_error(record, :email, emailage_error)
- record.rejected_reason = emailage_error
- end
- rescue StandardError
- add_record_error(record, :emailage_api_error, emailage_error)
- end
- private
- def error_message(error)
- I18n.t(error, scope: %i[api customer errors])
- end
- def add_record_error(record, field, error)
- record.errors.add(field, error)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement