1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-15 00:24:09 +01:00
fab-manager/app/validators/coupon_expiration_validator.rb

19 lines
627 B
Ruby
Raw Normal View History

# frozen_string_literal: true
# Check that the expiration date of the given coupon is a valid value
2016-12-13 12:01:34 +01:00
class CouponExpirationValidator < ActiveModel::Validator
##
# @param record {Coupon}
##
def validate(record)
previous = record.valid_until_was
current = record.valid_until
return if current.blank?
2016-12-13 12:01:34 +01:00
record.errors.add(:valid_until, I18n.t('errors.messages.cannot_be_in_the_past')) if current.end_of_day < Time.current
return unless previous.present? && current.end_of_day < previous.end_of_day
2016-12-13 12:01:34 +01:00
record.errors.add(:valid_until, I18n.t('errors.messages.cannot_be_before_previous_value'))
2016-12-13 12:01:34 +01:00
end
end