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