internetee-registry/app/models/concerns/domain/expirable.rb
2021-09-09 13:06:51 +03:00

29 lines
529 B
Ruby

module 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
return false if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_date.present?
true
end
end