class Capistrano::BundleRsync::Config

Public Class Methods

build_ssh_command(host) click to toggle source

Build ssh command options for rsync

First, search available user and keys configurations for each role:

role :app, ['hostname'], {
  user: username,
  keys: File.expand_path('~/.ssh/id_rsa'),
  port: 22,
}

If not available, look :bundle_rsync_ssh_options:

set :bundle_rsync_ssh_options {
  user: username,
  keys: [File.expand_path('~/.ssh/id_rsa')],
  port: 22,
}

If :bundle_rsync_ssh_options are not available also, look :ssh_options finally:

set :ssh_options {
  user: username,
  keys: [File.expand_path('~/.ssh/id_rsa')],
  port: 22,
}

`keys` can be a string or an array. NOTE: :password is not supported.

# File lib/capistrano/bundle_rsync/config.rb, line 61
def self.build_ssh_command(host)
  user_opt, key_opt, port_opt = "", "", ""
  ssh_options = fetch(:bundle_rsync_ssh_options) || fetch(:ssh_options) || {}
  if user = host.user || ssh_options[:user]
    user_opt = " -l #{user}"
  end
  if keys = (host.keys.empty? ? ssh_options[:keys] : host.keys)
    keys = keys.is_a?(Array) ? keys : [keys]
    key_opt = keys.map {|key| " -i #{key}" }.join("")
  end
  if port = host.port || ssh_options[:port]
    port_opt = " -p #{port}"
  end
  "ssh#{user_opt}#{key_opt}#{port_opt}"
end
bundle_install_standalone() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 96
def self.bundle_install_standalone
  fetch(:bundle_rsync_bundle_install_standalone)
end
bundle_install_standalone_option() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 100
def self.bundle_install_standalone_option
  case value = self.bundle_install_standalone
  when true
    "--standalone"
  when Array
    "--standalone #{value.join(' ')}"
  when String
    "--standalone #{value}"
  else
    nil
  end
end
bundle_without() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 113
def self.bundle_without
  fetch(:bundle_rsync_bundle_without) || [:development, :test]
end
config_files() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 23
def self.config_files
  return nil unless config_files = fetch(:bundle_rsync_config_files)
  config_files.is_a?(Array) ? config_files : [config_files]
end
keep_releases() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 77
def self.keep_releases
  @keep_releases = fetch(:bundle_rsync_keep_releases) || fetch(:keep_releases)
end
local_base_path() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 3
def self.local_base_path
  @local_base_path ||= fetch(:bundle_rsync_local_base_path) || "#{Dir::pwd}/.local_repo"
end
local_bundle_path() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 19
def self.local_bundle_path
  @local_bundle_path ||= fetch(:bundle_rsync_local_bundle_path) || "#{local_base_path}/bundle"
end
local_mirror_path() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 7
def self.local_mirror_path
  @local_mirror_path ||= fetch(:bundle_rsync_local_mirror_path) || "#{local_base_path}/mirror"
end
local_release_path() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 15
def self.local_release_path
  @local_release_path ||= fetch(:bundle_rsync_local_release_path) || "#{local_releases_path}/#{Time.new.strftime('%Y%m%d%H%M%S')}"
end
local_releases_path() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 11
def self.local_releases_path
  @local_releases_path ||= fetch(:bundle_rsync_local_releases_path) || "#{local_base_path}/releases"
end
max_parallels(hosts) click to toggle source

Fetch the :bundle_rsync_max_parallels, where the default is the number of hosts

# File lib/capistrano/bundle_rsync/config.rb, line 83
def self.max_parallels(hosts)
  (fetch(:bundle_rsync_max_parallels) || hosts.size).to_i
end
rsync_options() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 87
def self.rsync_options
  bwlimit = fetch(:bundle_rsync_rsync_bwlimit) ? " --bwlimit #{fetch(:bundle_rsync_rsync_bwlimit)}" : ""
  fetch(:bundle_rsync_rsync_options) || "-az --delete#{bwlimit}"
end
shared_dirs() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 28
def self.shared_dirs
  return nil unless shared_dirs = fetch(:bundle_rsync_shared_dirs)
  shared_dirs.is_a?(Array) ? shared_dirs : [shared_dirs]
end
skip_bundle() click to toggle source
# File lib/capistrano/bundle_rsync/config.rb, line 92
def self.skip_bundle
  fetch(:bundle_rsync_skip_bundle)
end