Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
olegphenomenon committed Sep 20, 2021
1 parent b4213c7 commit 3f2bc44
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 29 deletions.
38 changes: 17 additions & 21 deletions app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
Original file line number Diff line number Diff line change
@@ -1,52 +1,48 @@
class ReplaceUpdToObjUpdProhibitedJob < ApplicationJob
def perform(mode, rollback = false)
def perform(action:, rollback: false)
logger.info 'Ran ReplaceUpdToObjUpdProhibitedJob!'

start_adding_new_status_for_locked_domains(mode, rollback)
start_adding_new_status_for_locked_domains(action: action, rollback: rollback)
end

private

def start_adding_new_status_for_locked_domains(mode, rollback)
def start_adding_new_status_for_locked_domains(action:, rollback:)
count = 0
Domain.all.find_in_batches do |domain_batches|
count += domain_batches.count
logger.info "Proccesing #{count} domains of #{Domain.count}"

domain_batches.each do |domain|
if domain.locked_by_registrant?
if rollback
domain = rollback_actions(mode, domain)
else
domain = add_actions(mode, domain)
end

domain.save!
if domain.locked_by_registrant? && rollback
rollback_actions(action: action, domain: domain)
elsif domain.locked_by_registrant? && !rollback
add_actions(action: action, domain: domain)
end
end

logger.info "Successfully proccesed #{count} domains of #{Domain.count}"
end
end

def rollback_actions(mode, domain)
if mode == 'add' and !domain.statuses.include? 'serverUpdateProhibited'
def rollback_actions(action:, domain:)
if action == :add and !domain.statuses.include? 'serverUpdateProhibited'
domain.statuses = domain.statuses + ['serverUpdateProhibited']
elsif mode == 'remove' and domain.statuses.include? 'serverObjUpdateProhibited'
domain.save!
elsif action == :remove and domain.statuses.include? 'serverObjUpdateProhibited'
domain.statuses = domain.statuses - ['serverObjUpdateProhibited']
domain.save!
end

domain
end

def add_actions(mode, domain)
if mode == 'add' and !domain.statuses.include? 'serverObjUpdateProhibited'
def add_actions(action:, domain:)
if action == :add and !domain.statuses.include? 'serverObjUpdateProhibited'
domain.statuses = domain.statuses + ['serverObjUpdateProhibited']
elsif mode == 'remove' and domain.statuses.include? 'serverUpdateProhibited'
domain.save!
elsif action == :remove and domain.statuses.include? 'serverUpdateProhibited'
domain.statuses = domain.statuses - ['serverUpdateProhibited']
domain.save!
end

domain
end

def logger
Expand Down
8 changes: 4 additions & 4 deletions lib/tasks/replace_upd_to_obj_upd_prohibited.rake
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ namespace :locked_domains do
desc 'Add serverObjUpdateProhibited for locked domains'
task add_new_status: :environment do
time = Benchmark.realtime do
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :add)
end
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
end

desc 'Remove serverUpdateProhibited from locked domains'
task remove_old_status: :environment do
time = Benchmark.realtime do
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :remove)
end
puts "Time is #{time.round(2)} for remove serverUpdateProhibited for locked domains"
end
Expand All @@ -27,15 +27,15 @@ namespace :locked_domains do
desc 'Rollback remove old serverUpdateProhibited for locked domains'
task rollback_remove_old_status: :environment do
time = Benchmark.realtime do
ReplaceUpdToObjUpdProhibitedJob.perform_later('add', true)
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :add, rollback: true)
end
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
end

desc 'Rollback add new serverObjUpdateProhibited for locked domains'
task rollback_add_new_status: :environment do
time = Benchmark.realtime do
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove', true)
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :remove, rollback: true)
end
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
end
Expand Down
8 changes: 4 additions & 4 deletions test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def test_start_adding_new_status_for_locked_domains
assert @domain.locked_by_registrant?

perform_enqueued_jobs do
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :add)
end

@domain.reload
Expand All @@ -32,7 +32,7 @@ def test_start_adding_new_status_for_locked_domains
assert @domain.statuses.include? "serverObjUpdateProhibited"

perform_enqueued_jobs do
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :remove)
end

@domain.reload
Expand All @@ -49,7 +49,7 @@ def test_should_not_added_to_non_locked_domain_with_update_prohibited
assert_not @domain.locked_by_registrant?

perform_enqueued_jobs do
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :add)
end

assert_not @domain.statuses.include? "serverObjUpdateProhibited"
Expand All @@ -64,7 +64,7 @@ def test_should_not_removed_from_non_locked_domain_with_update_prohibited
assert_not @domain.locked_by_registrant?

perform_enqueued_jobs do
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
ReplaceUpdToObjUpdProhibitedJob.perform_later(action: :remove)
end

assert @domain.statuses.include? "serverUpdateProhibited"
Expand Down

0 comments on commit 3f2bc44

Please sign in to comment.