mirror of
https://github.com/internetee/registry.git
synced 2025-05-19 02:39:37 +02:00
31 lines
551 B
Ruby
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
|