Class: CapistranoMulticonfigParallel::JobCommand
- Inherits:
-
Object
- Object
- CapistranoMulticonfigParallel::JobCommand
show all
- Includes:
- ApplicationHelper, FileUtils
- Defined in:
- lib/capistrano_multiconfig_parallel/classes/job_command.rb
Overview
class used to find application dependencies
Instance Attribute Summary collapse
Instance Method Summary
collapse
action_confirmed?, check_hash_set, check_numeric, fetch_parsed_string, fetch_remaining_arguments, find_loaded_gem, find_remaining_args, get_question_details, msg_for_stdin?, msg_for_task?, multi_fetch_argv, parse_task_string, percent_of, regex_last_match, setup_command_line_standard, strip_characters_from_string, value_is_array?, verify_array_of_strings, verify_empty_options, warn_array_without_strings, wrap_string
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, print_to_log_file, rescue_error, rescue_interrupt, setup_filename_logger, setup_logger_formatter, show_warning, websocket_config, websocket_server_config
check_file, config_file, create_log_file, custom_commands, 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, 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_capfile
Constructor Details
Returns a new instance of JobCommand.
12
13
14
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 12
def initialize(job)
@job = job
end
|
Instance Attribute Details
#job ⇒ Object
Returns the value of attribute job.
9
10
11
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 9
def job
@job
end
|
Instance Method Details
#build_capistrano_task(rake_action = nil, *args) ⇒ Object
47
48
49
50
51
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 47
def build_capistrano_task(rake_action = nil, *args)
rake_action = rake_action.present? ? rake_action : action
environment_options = setup_command_line(*args).join(' ')
"cd #{detect_root} && RAILS_ENV=#{@stage} bundle exec multi_cap #{job_stage} #{capistrano_action(rake_action)} #{environment_options}"
end
|
#capistrano_action(rake_action = action) ⇒ Object
24
25
26
27
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 24
def capistrano_action(rake_action = action)
argv = task_arguments.present? ? "[#{task_arguments}]" : ''
"#{rake_action}#{argv}"
end
|
#env_option_filtered?(key, filtered_keys_array = []) ⇒ Boolean
29
30
31
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 29
def env_option_filtered?(key, filtered_keys_array = [])
filtered_env_keys.include?(key) || filtered_keys_array.include?(key.to_s)
end
|
#execute_standard_deploy(action = nil) ⇒ Object
53
54
55
56
57
58
59
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 53
def execute_standard_deploy(action = nil)
command = build_capistrano_task(action)
run_shell_command(command)
rescue => ex
log_error(ex, 'stderr')
execute_standard_deploy('deploy:rollback') if action.blank? && @name == 'deploy'
end
|
#filtered_env_keys ⇒ Object
16
17
18
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 16
def filtered_env_keys
%w(STAGES ACTION)
end
|
#job_stage ⇒ Object
20
21
22
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 20
def job_stage
app.present? ? "#{app}:#{stage}" : "#{stage}"
end
|
#setup_command_line(*args) ⇒ Object
42
43
44
45
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 42
def setup_command_line(*args)
new_arguments, options = setup_command_line_standard(*args)
setup_env_options(options).concat(new_arguments)
end
|
#setup_env_options(options = {}) ⇒ Object
33
34
35
36
37
38
39
40
|
# File 'lib/capistrano_multiconfig_parallel/classes/job_command.rb', line 33
def setup_env_options(options = {})
array_options = []
env_options.each do |key, value|
array_options << "#{key}=#{value}" if value.present? && !env_option_filtered?(key, options.fetch(:filtered_keys, []))
end
array_options << '--trace' if app_debug_enabled?
array_options
end
|