Class: PactBroker::DB::DeleteOverwrittenDataTask

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/pact_broker/tasks/delete_overwritten_data_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ DeleteOverwrittenDataTask

Returns a new instance of DeleteOverwrittenDataTask.



7
8
9
# File 'lib/pact_broker/tasks/delete_overwritten_data_task.rb', line 7

def initialize &block
  rake_task &block
end

Instance Attribute Details

#age_in_daysObject

Returns the value of attribute age_in_days.



5
6
7
# File 'lib/pact_broker/tasks/delete_overwritten_data_task.rb', line 5

def age_in_days
  @age_in_days
end

#database_connectionObject

Returns the value of attribute database_connection.



4
5
6
# File 'lib/pact_broker/tasks/delete_overwritten_data_task.rb', line 4

def database_connection
  @database_connection
end

Instance Method Details

#rake_task(&block) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pact_broker/tasks/delete_overwritten_data_task.rb', line 11

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 = {}

        if age_in_days
          options[:before] = (Date.today - age_in_days.to_i).to_datetime
          $stdout.puts "Deleting overwritten pact publications and verifications older than #{age_in_days} days"
        else
          $stdout.puts "Deleting overwritten pact publications and verifications"
        end

        report = PactBroker::DB::DeleteOverwrittenData.call(database_connection, options)
        $stdout.puts report.to_yaml
      end
    end
  end
end