Sha256: b22f9cd81e2184bade30ac5615f97c42b8d867a6e76d259d4f7e68963393a881

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

# -*- encoding : utf-8 -*-
namespace :integration do
  APP = ENV['APP']

  namespace :heroku do
    task :add_remote do
      remote = `git remote |grep heroku`
      sh "git remote add heroku git@heroku.com:#{APP}.git" if remote.strip.blank?
    end

    task :check do
      var = Bundler.with_clean_env { `heroku config -s --app #{APP}|grep INTEGRATING_BY` }
      integrating_by = var.split('=')[1] # Eu sei que é tosco, mas foda-se
      user = `whoami`
      if !integrating_by.blank? and integrating_by != user
        p80 "Project is already being integrated by #{integrating_by}"
        exit
      end
    end
    task :lock do
      user = `whoami`
      Bundler.with_clean_env { sh "heroku config:add INTEGRATING_BY=#{user}" }
    end
    task :unlock do
      Bundler.with_clean_env { sh "heroku config:remove INTEGRATING_BY" }
    end
  end
end

INTEGRATION_TASKS = %w(
  integration:heroku:add_remote
  integration:heroku:check
  integration:heroku:lock
  integration:start
  integration:bundle_install
  db:migrate
  spec
  integration:coverage_verify
  integration:finish
  heroku:deploy
  integration:heroku:unlock
)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pah-0.0.4 lib/pah/files/lib/tasks/integration.rake