Sha256: e8a493dd4b12c764df77d69f509a8915522b73a95d5a45b6b6c07634973232f4

Contents?: true

Size: 1.65 KB

Versions: 14

Compression:

Stored size: 1.65 KB

Contents

module PactBroker
  module DB
    class DeleteOverwrittenDataTask < ::Rake::TaskLib
      attr_accessor :database_connection
      attr_accessor :max_age
      attr_accessor :logger
      attr_accessor :deletion_limit
      attr_accessor :dry_run

      def initialize &block
        @max_age = 7
        rake_task(&block)
      end

      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

      def output string, payload = {}
        logger ? logger.info(string, payload) : puts("#{string} #{payload.to_json}")
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.113.2 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.113.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.113.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.112.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.111.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.109.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.109.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.108.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.107.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.107.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.106.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.105.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb