Module: CapistranoMulticonfigParallel::ApplicationHelper

Includes:
CapistranoHelper, CoreHelper, GemHelper, InternalHelper, ParseHelper, StagesHelper
Included in:
BaseActorHelper::ClassMethods, CLI, Cursor, DependencyTracker, InteractiveMenu, Job, JobCommand, RakeTaskHooks, WebServer
Defined in:
lib/capistrano_multiconfig_parallel/helpers/application_helper.rb

Overview

class that holds the options that are configurable for this gem

Class Method Summary collapse

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

.action_confirmed?(result) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 62

def action_confirmed?(result)
  result.present? && result.downcase == 'y'
end

.fetch_parsed_string(string) ⇒ Object



75
76
77
78
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 75

def fetch_parsed_string(string)
  /^([^\[]+)(?:\[(.*)\])$/ =~ string.to_s
  [regex_last_match(1), regex_last_match(2)]
end

.fetch_remaining_arguments(args, remaining_args) ⇒ Object



80
81
82
83
84
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 80

def fetch_remaining_arguments(args, remaining_args)
  /((?:[^\\,]|\\.)*?)\s*(?:,\s*(.*))?$/ =~ remaining_args
  args << regex_last_match(1).gsub(/\\(.)/, '\1')
  regex_last_match(2)
end

.find_remaining_args(name, remaining_args) ⇒ Object



86
87
88
89
90
91
92
93
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 86

def find_remaining_args(name, remaining_args)
  args = []
  loop do
    remaining_args = fetch_remaining_arguments(args, remaining_args)
    break if remaining_args.blank?
  end
  [name, args]
end

.get_question_details(data) ⇒ Object



43
44
45
46
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 43

def get_question_details(data)
  matches = /(.*)\?*\s*\:*\s*(\([^)]*\))*/m.match(data).captures
  [matches[0], matches[1]]
end

.message_from_bundler?(message) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 39

def message_from_bundler?(message)
  message.present? && message.is_a?(Hash) && message['action'].present? && message['job_id'].present? && message['task'].present? && message['action'] == 'bundle_install'
end

.message_is_about_a_task?(message) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 35

def message_is_about_a_task?(message)
  message.present? && message.is_a?(Hash) && message['action'].present? && message['job_id'].present? && message['task'].present? && message['action'] == 'invoke'
end

.message_is_for_stdout?(message) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 31

def message_is_for_stdout?(message)
  message.present? && message.is_a?(Hash) && message['action'].present? && message['job_id'].present? && message['action'] == 'stdout'
end

.msg_for_stdin?(message) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 27

def msg_for_stdin?(message)
  message['action'] == 'stdin'
end

.parse_task_string(string) ⇒ Object

:nodoc:



70
71
72
73
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 70

def parse_task_string(string) # :nodoc:
  name, remaining_args = fetch_parsed_string(string)
  name.present? ? find_remaining_args(name, remaining_args) : [string, []]
end

.percent_of(index, total) ⇒ Object



58
59
60
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 58

def percent_of(index, total)
  index.to_f / total.to_f * 100.0
end

.regex_last_match(number) ⇒ Object



66
67
68
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 66

def regex_last_match(number)
  Regexp.last_match(number)
end

.setup_command_line_standard(*args) ⇒ Object



48
49
50
51
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 48

def setup_command_line_standard(*args)
  options = args.extract_options!
  [args.select(&:present?), options]
end

.wrap_string(string, options = {}) ⇒ Object



53
54
55
56
# File 'lib/capistrano_multiconfig_parallel/helpers/application_helper.rb', line 53

def wrap_string(string, options = {})
  options.stringify_keys!
  string.scan(/.{#{options.fetch('length', 80)}}|.+/).map(&:strip).join(options.fetch('character', $INPUT_RECORD_SEPARATOR))
end