Class: CapistranoMulticonfigParallel::CLI

Inherits:
Object
  • Object
show all
Extended by:
ApplicationHelper
Defined in:
lib/capistrano_multiconfig_parallel/cli.rb

Overview

this is the class that will be invoked from terminal , and willl use the invoke task as the primary function.

Class Method Summary collapse

Methods included from ApplicationHelper

action_confirmed?, fetch_parsed_string, fetch_remaining_arguments, find_remaining_args, get_question_details, message_from_bundler?, message_is_about_a_task?, message_is_for_stdout?, msg_for_stdin?, parse_task_string, percent_of, regex_last_match, setup_command_line_standard, wrap_string

Methods included from CapistranoHelper

env_key_format, env_prefix, filtered_env_keys_format, setup_flags_for_job, trace_flag

Methods included from GemHelper

fetch_gem_version, find_loaded_gem, find_loaded_gem_property, format_gem_version, get_parsed_version, verify_gem_version

Methods included from StagesHelper

app_names_from_stages, check_stage_path, checks_paths, fetch_stages_app, fetch_stages_from_file, fetch_stages_paths, independent_deploy?, multi_apps?, sorted_paths, stages, stages_paths, stages_root

Methods included from ParseHelper

check_hash_set, check_numeric, strip_characters_from_string, value_is_array?, verify_array_of_strings, verify_empty_options, warn_array_without_strings

Methods included from CoreHelper

app_debug_enabled?, ask_confirm, ask_stdout_confirmation, check_terminal_tty, debug_websocket?, error_filtered?, execute_with_rescue, find_worker_log, force_confirmation, format_error, log_error, log_output_error, log_to_file, multi_fetch_argv, print_to_log_file, rescue_error, rescue_interrupt, setup_filename_logger, setup_logger_formatter, show_warning, terminal_actor, terminal_errors?, websocket_config, websocket_server_config

Methods included from InternalHelper

arg_is_in_default_config?, check_file, create_log_file, custom_commands, default_config_keys, default_internal_config, default_internal_configuration_params, detect_root, enable_main_log_file, fail_capfile_not_found, fetch_default_internal_config, find_config_type, find_env_multi_cap_root, find_file_in_directory, get_current_gem_name, internal_config_directory, internal_config_file, log_directory, main_log_file, multi_level_prop, pathname_is_root?, pwd_directory, pwd_parent_dir, root, setup_default_configuration_types, sliced_default_config, try_detect_file

Class Method Details

.before_startObject



36
37
38
39
# File 'lib/capistrano_multiconfig_parallel/cli.rb', line 36

def before_start
  check_terminal_tty
  CapistranoMulticonfigParallel.original_args = ARGV.dup
end

.execute_start(job_id) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/capistrano_multiconfig_parallel/cli.rb', line 16

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

.run_capistranoObject



26
27
28
29
30
31
32
33
34
# File 'lib/capistrano_multiconfig_parallel/cli.rb', line 26

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

.run_the_applicationObject



41
42
43
44
45
# File 'lib/capistrano_multiconfig_parallel/cli.rb', line 41

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

.startObject

method used to start



9
10
11
12
13
14
# File 'lib/capistrano_multiconfig_parallel/cli.rb', line 9

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