lib/active_regulation/expiration.rb in active_regulation-2.2.1 vs lib/active_regulation/expiration.rb in active_regulation-2.2.2

- old
+ new

@@ -3,10 +3,18 @@ module ActiveRegulation module Expiration extend ActiveSupport::Concern included do + attr_accessor :expiration + + validates :expiration, inclusion: { in: 0..1 }, + allow_blank: true, + allow_nil: true + + before_save :record_expiration! + scope :expired, -> { where("expires_at IS NULL OR expires_at < ?", Time.now) } scope :unexpired, -> { where("expires_at IS NOT NULL AND expires_at >= ?", Time.now) } end def expire! @@ -35,9 +43,13 @@ private def extension_date(days=30) DateTime.now + days + end + + def record_expiration! + self.expires_at = (expiration.zero? ? extension_date : nil) unless expiration.blank? end end end \ No newline at end of file