Sha256: 75de9d0ca8a6d8b7cf6dd2ea2a0ac1b739acec2a836ae3251d7fe4607f1c3385

Contents?: true

Size: 1.16 KB

Versions: 9

Compression:

Stored size: 1.16 KB

Contents

require_relative './base_manager'
module CapistranoMulticonfigParallel
  # class used to find application dependencies
  class SingleAppManager < CapistranoMulticonfigParallel::BaseManager
    include Celluloid
    include Celluloid::Logger

    def run
      options = {}
      if custom_command?
        run_custom_command(options)
      else
        deploy_single_app(options)
      end
      process_jobs
    end

    def run_custom_command(options)
      return unless custom_command?
      action_name = @name
      if action_name == custom_commands[:stages]
        stage_deploy(options)
      else
        raise "Custom command #{@name} not available for single apps"
      end
    end

    def stage_deploy(options)
      return unless custom_command?
      stages = fetch_multi_stages
      return if stages.blank?
      collect_jobs(options) do |new_options|
        stages.each do |stage|
          deploy_app(new_options.merge('stage' => stage, 'action' => 'deploy'))
        end
      end
    end

    def deploy_single_app(options)
      return if custom_command?
      collect_jobs(options) do |new_options|
        deploy_app(new_options)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
capistrano_multiconfig_parallel-0.5.0 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.4.0 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.2.1 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.2.0 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.1.4 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.1.3 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.1.2 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.1.1 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb
capistrano_multiconfig_parallel-0.1.0 lib/capistrano_multiconfig_parallel/helpers/single_app_manager.rb