class Heroploy::Tasks::DeployTaskLib

Attributes

deployment_config[RW]

Public Class Methods

new(deployment_config) click to toggle source
# File lib/heroploy/tasks/deploy_task_lib.rb, line 15
def initialize(deployment_config)
  @deployment_config = deployment_config
  define
end

Public Instance Methods

define() click to toggle source
# File lib/heroploy/tasks/deploy_task_lib.rb, line 20
def define
  define_fetch_task
  define_load_configs_task
  define_env_tasks
end
define_env_tasks() click to toggle source
# File lib/heroploy/tasks/deploy_task_lib.rb, line 49
def define_env_tasks
  deployment_config.environments.each do |env|
    EnvTaskLib.new(deployment_config, env)
  end
end
define_fetch_task() click to toggle source
# File lib/heroploy/tasks/deploy_task_lib.rb, line 26
def define_fetch_task
  desc 'do a git fetch'
  task :fetch do
    git_fetch
  end
end
define_load_configs_task() click to toggle source
# File lib/heroploy/tasks/deploy_task_lib.rb, line 33
def define_load_configs_task
  desc 'load remote configs'
  task :load_remote_configs do
    unless deployment_config.remote_configs.nil?
      deployment_config.remote_configs.each do |remote_config|
        git_clone(remote_config.repository, remote_config.name) do
          remote_config.files.each do |filename|
            config_file = File.join(Dir.pwd, remote_config.name, filename)
            deployment_config.merge_config(Heroploy::Config::DeploymentConfig.load(config_file))
          end
        end
      end
    end
  end
end