From 7d406d60d700ccd8b8be96e1161437def8306ad1 Mon Sep 17 00:00:00 2001 From: Emile Date: Wed, 2 Jan 2019 11:39:38 +0000 Subject: [PATCH] Create Rake tasks for deleting user details This is the glue required to run the use cases. The Rubocop ignore syntax is due to this. https://github.com/rubocop-hq/rubocop/issues/4222 --- .rubocop.yml | 3 +++ Rakefile | 1 + spec/unit/lib/gdpr/gateway/user_details_spec.rb | 4 ++-- tasks/gdpr/user_deletion.rb | 11 +++++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 .rubocop.yml create mode 100644 tasks/gdpr/user_deletion.rb diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 00000000..5dcbbdbd --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,3 @@ +Lint/AmbiguousBlockAssociation: + Exclude: + - "spec/**/*" diff --git a/Rakefile b/Rakefile index ed61b385..1baa609a 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,4 @@ require './lib/loader' require './tasks/publish_statistics' +require './tasks/gdpr/user_deletion' diff --git a/spec/unit/lib/gdpr/gateway/user_details_spec.rb b/spec/unit/lib/gdpr/gateway/user_details_spec.rb index 36ffc78d..ea5924df 100644 --- a/spec/unit/lib/gdpr/gateway/user_details_spec.rb +++ b/spec/unit/lib/gdpr/gateway/user_details_spec.rb @@ -12,7 +12,7 @@ end it 'does not delete any users' do - expect{ subject.delete_users }.to_not change { user_details.count } + expect { subject.delete_users }.to_not change { user_details.count } end end @@ -62,7 +62,7 @@ end it 'does not delete any user details' do - expect{ subject.delete_users }.to_not change { user_details.count } + expect { subject.delete_users }.to_not change { user_details.count } end end diff --git a/tasks/gdpr/user_deletion.rb b/tasks/gdpr/user_deletion.rb new file mode 100644 index 00000000..f403d707 --- /dev/null +++ b/tasks/gdpr/user_deletion.rb @@ -0,0 +1,11 @@ +require 'logger' +logger = Logger.new(STDOUT) + +task :delete_users do + user_details_gateway = Gdpr::Gateway::Userdetails.new + + Gdpr::UseCase::DeleteUsers.new(user_details_gateway: user_details_gateway).execute + Gdpr::UseCase::ObfusticateSponsors.new(user_details_gateway: user_details_gateway).execute + + logger.info('Daily User Cleanup Ran') +end