Module: CapistranoMulticonfigParallel::InternalHelper

Included in:
ApplicationHelper
Defined in:
lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb

Overview

internal helpers for logging mostly

Class Method Summary collapse

Class Method Details

.config_file ⇒ Object



45
46
47
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 45

def config_file
  File.join(detect_root.to_s, 'config', 'multi_cap.yml')
end

.custom_commands ⇒ Object



57
58
59
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 57

def custom_commands
  ['deploy_multi_stages']
end

.default_internal_config ⇒ Object



14
15
16
17
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 14

def default_internal_config
  @default_config ||= YAML.load_file(internal_config_file)['default_config']
  @default_config
end

.detect_root ⇒ Object



35
36
37
38
39
40
41
42
43
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 35

def detect_root
  if find_env_multi_cap_root
    Pathname.new(find_env_multi_cap_root)
  elsif defined?(::Rails)
    ::Rails.root
  else
    try_detect_capfile
  end
end

.enable_main_log_file ⇒ Object



61
62
63
64
65
66
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 61

def enable_main_log_file
  FileUtils.mkdir_p(log_directory) unless File.directory?(log_directory)
  FileUtils.touch(main_log_file) unless File.file?(main_log_file)
  log_file = File.open(main_log_file, 'w')
  log_file.sync = true
end

.find_env_multi_cap_root ⇒ Object



19
20
21
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 19

def find_env_multi_cap_root
  ENV['MULTI_CAP_ROOT']
end

.internal_config_directory ⇒ Object



6
7
8
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 6

def internal_config_directory
  File.join(root.to_s, 'capistrano_multiconfig_parallel', 'configuration')
end

.internal_config_file ⇒ Object



10
11
12
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 10

def internal_config_file
  File.join(internal_config_directory, 'default.yml')
end

.log_directory ⇒ Object



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

def log_directory
  File.join(detect_root.to_s, 'log')
end

.main_log_file ⇒ Object



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

def main_log_file
  File.join(log_directory, 'multi_cap.log')
end

.root ⇒ Object



23
24
25
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 23

def root
  File.expand_path(File.dirname(File.dirname(__dir__)))
end

.try_detect_capfile ⇒ Object



27
28
29
30
31
32
33
# File 'lib/capistrano_multiconfig_parallel/helpers/internal_helper.rb', line 27

def try_detect_capfile
  root = Pathname.new(FileUtils.pwd)
  root = root.parent unless root.directory?
  root = root.parent until root.children.find { |f| f.file? && f.basename.to_s.downcase == 'capfile' }.present? || root.root?
  fail "Can't detect Capfile in the  application root".red if root.root?
  root
end