require 'rake/tasklib' =begin require 'pact_broker/tasks' PactBroker::DB::DataMigrationTask.new do | task | require 'my_app/db' task.database_connection = MyApp::DB end =end module PactBroker module DB class DataMigrationTask < ::Rake::TaskLib attr_accessor :database_connection def initialize &block rake_task &block end def rake_task &block namespace :pact_broker do namespace :db do desc "Run data migrations for pact broker database" task :migrate_data do | t, args | require 'pact_broker/db' instance_eval(&block) PactBroker::DB.run_data_migrations database_connection end end end end end end end