class PactBroker::DB::DeleteOverwrittenDataTask
Attributes
database_connection[RW]
deletion_limit[RW]
dry_run[RW]
logger[RW]
max_age[RW]
Public Class Methods
new(&block)
click to toggle source
# File lib/pact_broker/tasks/delete_overwritten_data_task.rb, line 10 def initialize &block @max_age = 7 rake_task(&block) end
Public Instance Methods
output(string, payload = {})
click to toggle source
# File lib/pact_broker/tasks/delete_overwritten_data_task.rb, line 48 def output string, payload = {} logger ? logger.info(string, payload: payload) : puts("#{string} #{payload.to_json}") end
rake_task(&block)
click to toggle source
# File lib/pact_broker/tasks/delete_overwritten_data_task.rb, line 15 def rake_task &block namespace :pact_broker do namespace :db do desc "Delete overwritten pacts and verifications from database" task :delete_overwritten_data do | _t, _args | require "pact_broker/db/delete_overwritten_data" require "yaml" instance_eval(&block) options = {} prefix = dry_run ? "[DRY RUN] " : "" if max_age options[:max_age] = max_age output "#{prefix}Deleting overwritten pact publications and verifications older than #{max_age} days" else output "#{prefix}Deleting overwritten pact publications and verifications" end options[:limit] = deletion_limit if deletion_limit options[:dry_run] = dry_run start_time = Time.now results = PactBroker::DB::DeleteOverwrittenData.call(database_connection, options) end_time = Time.now elapsed_seconds = (end_time - start_time).to_i output "Results (#{elapsed_seconds} seconds)", results end end end end