internetee-registry/app/models/concerns/domain/expirable.rb

31 lines
551 B
Ruby

module Concerns::Domain::Expirable
extend ActiveSupport::Concern
included do
alias_attribute :expire_time, :valid_to
end
class_methods do
def expired
where("#{attribute_alias(:expire_time)} <= ?", Time.zone.now)
end
end
def registered?
!expired?
end
def expired?
expire_time <= Time.zone.now
end
def expirable?
return false if expire_time > Time.zone.now
if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_at.present?
return false
end
true
end
end