From 6b7c51a347cfbfeb4bab330bbf0ba0dac3ecdf72 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Thu, 1 Apr 2021 13:43:18 +0300 Subject: [PATCH] refactoring: shortened the code --- .../concerns/domain/registry_lockable.rb | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index a4ffeb7ef..450483f36 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -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)