Sha256: b389d54c40ac2237a0c3c2e3806457dd24973c7a2eb2bf94e5f4f78757c6cc6c

Contents?: true

Size: 1.67 KB

Versions: 13

Compression:

Stored size: 1.67 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

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.79.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.78.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.78.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.77.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.76.2 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.76.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.76.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.75.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.74.1 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.74.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.73.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb
pact_broker-2.72.0 lib/pact_broker/tasks/delete_overwritten_data_task.rb