refactoring: shortened the code

This commit is contained in:
Oleg Hasjanov 2021-04-01 13:43:18 +03:00
parent b7149387d9
commit 6b7c51a347

View file

@ -1,22 +1,16 @@
module Domain::RegistryLockable
extend ActiveSupport::Concern
LOCK_STATUSES = [DomainStatus::SERVER_UPDATE_PROHIBITED,
DomainStatus::SERVER_DELETE_PROHIBITED,
DomainStatus::SERVER_TRANSFER_PROHIBITED]
def apply_registry_lock
return unless registry_lockable?
return if locked_by_registrant?
transaction do
unless statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
statuses << DomainStatus::SERVER_UPDATE_PROHIBITED
end
unless statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
statuses << DomainStatus::SERVER_DELETE_PROHIBITED
end
unless statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED
end
self.statuses |= LOCK_STATUSES
self.locked_by_registrant_at = Time.zone.now
alert_registrar_lock_changes!(lock: true)
@ -34,20 +28,16 @@ module Domain::RegistryLockable
def locked_by_registrant?
return false unless locked_by_registrant_at
lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED,
DomainStatus::SERVER_DELETE_PROHIBITED,
DomainStatus::SERVER_TRANSFER_PROHIBITED]
(statuses & lock_statuses).count == 3
(statuses & LOCK_STATUSES).count == 3
end
def remove_registry_lock
return unless locked_by_registrant?
transaction do
statuses.delete(DomainStatus::SERVER_UPDATE_PROHIBITED)
statuses.delete(DomainStatus::SERVER_DELETE_PROHIBITED)
statuses.delete(DomainStatus::SERVER_TRANSFER_PROHIBITED)
LOCK_STATUSES.each do |domain_status|
statuses.delete(domain_status)
end
self.locked_by_registrant_at = nil
alert_registrar_lock_changes!(lock: false)