module Luban::Deployment::Helpers::LinkedPaths

Public Instance Methods

linked_dirs() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 5
def linked_dirs; @linked_dirs ||= []; end
linked_files() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 6
def linked_files; @linked_files ||= []; end
linked_files_dir() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 12
def linked_files_dir
  @linked_files_dir ||= control_file_dir
end
linked_files_dir_exists?() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 20
def linked_files_dir_exists?
  !linked_files_dir.to_s.empty? and linked_files_from.directory?
end
linked_files_from() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 16
def linked_files_from
  @linked_files_from ||= linked_files_root.join(linked_files_dir)
end
linked_files_root() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 8
def linked_files_root
  @linked_files_root ||= config_finder[:application].stage_profile_path.join(profile_name)
end

Protected Instance Methods

assure_linked_dirs() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 43
def assure_linked_dirs
  return if linked_dirs.empty?
  assure_dirs(linked_dirs.collect { |dir| shared_path.join(dir) })
end
create_linked_dirs(dirs = linked_dirs, from: shared_path, to:) click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 48
def create_linked_dirs(dirs = linked_dirs, from: shared_path, to:)
  dirs.each do |path|
    target_path = to.join(path)
    assure_dirs(target_path.dirname)
    rmdir(target_path) if directory?(target_path)
    source_path = from.join(path)
    assure_symlink(source_path, target_path) 
  end
end
create_linked_files(files = linked_files, from: profile_path, to:) click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 58
def create_linked_files(files = linked_files, from: profile_path, to:)
  files.each do |path|
    target_path = to.join(linked_files_dir, path)
    assure_dirs(target_path.dirname)
    rm(target_path) if file?(target_path)
    source_path = from.join(linked_files_dir, path)
    assure_symlink(source_path, target_path)
  end
end
init() click to toggle source
Calls superclass method
# File lib/luban/deployment/helpers/linked_paths.rb, line 26
def init
  super
  init_linked_dirs
  init_linked_files
end
init_linked_dirs() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 32
def init_linked_dirs
  linked_dirs.push('log', 'pids')
end
init_linked_files() click to toggle source
# File lib/luban/deployment/helpers/linked_paths.rb, line 36
def init_linked_files
  return unless linked_files_dir_exists?
  Dir.chdir(linked_files_from) do
    linked_files.concat(Pathname.glob("**/*").select { |f| f.file? })
  end
end