internetee-registry/app/models/concerns/domain/expirable.rb
2019-05-02 16:32:44 +03:00

31 lines
553 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_date.present?
return false
end
true
end
end