Sha256: ee753c51c5791e05b1ea685c037613180c3962d5af2430b611d953b780b2cf41

Contents?: true

Size: 1.32 KB

Versions: 34

Compression:

Stored size: 1.32 KB

Contents

require_relative './all'
module CapistranoMulticonfigParallel
  # this is the class that will be invoked from terminal , and willl use the invoke task as the primary function.
  class CLI
    class << self
      include CapistranoMulticonfigParallel::ApplicationHelper

      # method used to start
      def start
        before_start
        arguments = multi_fetch_argv(original_args)
        configuration_valid?
        execute_start(arguments[CapistranoMulticonfigParallel::ENV_KEY_JOB_ID])
      end

      def execute_start(job_id)
        if job_id.blank?
          run_the_application
        else
          ARGV.reject! { |arg| arg_is_in_default_config?(arg) }
          log_to_file("worker #{job_id} runs with ARGV #{ARGV.inspect}", job_id: job_id)
          run_capistrano
        end
      end

      def run_capistrano
        if capistrano_version_2?
          require 'capistrano/cli'
          Capistrano::CLI.execute
        else
          require 'capistrano/all'
          Capistrano::Application.new.run
        end
      end

      def before_start
        check_terminal_tty
        CapistranoMulticonfigParallel.original_args = ARGV.dup
      end

      def run_the_application
        execute_with_rescue('stderr') do
          CapistranoMulticonfigParallel::Application.new.start
        end
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
capistrano_multiconfig_parallel-1.7.2 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.7.1 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.7.0 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.6.0 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.5.2 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.5.1 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.5.0 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.4.2 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.4.1 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.4.0 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.3.1 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.3.0 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.9 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.8 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.7 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.6 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.5 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.4 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.3 lib/capistrano_multiconfig_parallel/cli.rb
capistrano_multiconfig_parallel-1.2.2 lib/capistrano_multiconfig_parallel/cli.rb