Sha256: c09b845b7bca870c48fbd3915c97c93c28c4c3dbbac515cd3343e2e1d86b9009

Contents?: true

Size: 1.4 KB

Versions: 16

Compression:

Stored size: 1.4 KB

Contents

# Recipes for using RVM on a server with capistrano.

unless Capistrano::Configuration.respond_to?(:instance)
  abort "rvm/capistrano requires Capistrano >= 2."
end

Capistrano::Configuration.instance(true).load do

  # Taken from the capistrano code.
  def _cset(name, *args, &block)
    unless exists?(name)
      set(name, *args, &block)
    end
  end

  set :default_shell do
    shell = File.join(rvm_bin_path, "rvm-shell")
    ruby = rvm_ruby_string.to_s.strip
    shell = "rvm_path=#{rvm_path} #{shell} '#{ruby}'" unless ruby.empty?
    shell
  end

  # Let users set the type of their rvm install.
  _cset(:rvm_type, :system)

  # Define rvm_path
  # This is used in the default_shell command to pass the required variable to rvm-shell, allowing
  # rvm to boostrap using the proper path.  This is being lost in Capistrano due to the lack of a
  # full environment.
  _cset(:rvm_path) do
    case rvm_type
    when :system_wide, :root, :system
      "/usr/local/rvm"
    when :local, :user, :default
      "$HOME/.rvm/"
    end
  end

  # Let users override the rvm_bin_path
  _cset(:rvm_bin_path) do
    case rvm_type
    when :system_wide, :root, :system
      "/usr/local/bin"
    when :local, :user, :default
      "$HOME/.rvm/bin"
    end
  end

  # Use the default ruby.
  _cset(:rvm_ruby_string, "default")

end

# E.g, to use ree and rails 3:
#
#   require 'rvm/capistrano'
#   set :rvm_ruby_string, "ree@rails3"
#

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rvm-1.2.8 lib/rvm/capistrano.rb
rvm-1.2.7 lib/rvm/capistrano.rb
rvm-1.2.6 lib/rvm/capistrano.rb
rvm-1.2.5 lib/rvm/capistrano.rb
rvm-1.2.4 lib/rvm/capistrano.rb
rvm-1.2.3 lib/rvm/capistrano.rb
rvm-1.2.2 lib/rvm/capistrano.rb
rvm-1.1.12 lib/rvm/capistrano.rb
rvm-1.1.11 lib/rvm/capistrano.rb
rvm-1.1.10 lib/rvm/capistrano.rb
rvm-1.1.9 lib/rvm/capistrano.rb
rvm-1.1.8 lib/rvm/capistrano.rb
rvm-1.1.7 lib/rvm/capistrano.rb
rvm-1.1.6 lib/rvm/capistrano.rb
rvm-1.1.5 lib/rvm/capistrano.rb
rvm-1.1.4 lib/rvm/capistrano.rb