module Shuttle::Support::Bundler

Public Instance Methods

bundle_install() click to toggle source
# File lib/shuttle/support/bundler.rb, line 26
def bundle_install
  log "Installing dependencies with Bundler"

  cmd = [
    "bundle install",
    "--quiet",
    "--path #{bundle_path}",
    "--retry=3",
    "--binstubs",
    "--deployment",
    "--without development,test"
  ].join(' ')

  res = ssh.run("cd #{release_path} && #{cmd}", &method(:stream_output))

  unless res.success?
    error "Unable to run bundle: #{res.output}"
  end
end
bundle_path() click to toggle source
# File lib/shuttle/support/bundler.rb, line 4
def bundle_path
  shared_path('bundle')
end
bundler_installed?() click to toggle source
# File lib/shuttle/support/bundler.rb, line 8
def bundler_installed?
  ssh.run("which bundle").success?
end
bundler_version() click to toggle source
# File lib/shuttle/support/bundler.rb, line 12
def bundler_version
  ssh.capture("bundle --version").split(' ').last
end
install_bundler() click to toggle source
# File lib/shuttle/support/bundler.rb, line 16
def install_bundler
  res = ssh.run("gem install bundler")

  if res.success?
    log "Bundler installed: #{bundler_version}"
  else
    error "Bundler install failed: #{res.output}"
  end
end