diff --git a/lib/rvm/capistrano/base.rb b/lib/rvm/capistrano/base.rb index bb9c834..93dbbf5 100644 --- a/lib/rvm/capistrano/base.rb +++ b/lib/rvm/capistrano/base.rb @@ -3,7 +3,7 @@ rvm_with_capistrano do - on :load do + deffered_load do _cset :rvm_shell do shell = File.join(rvm_bin_path, "rvm-shell") ruby = fetch(:rvm_ruby_string_evaluated).strip @@ -66,7 +66,7 @@ ## not needed in base but are used in many extensions - on :load do + deffered_load do # Let users set the install shell of their choice _cset(:rvm_install_shell, :bash) end diff --git a/lib/rvm/capistrano/gemset_import_export.rb b/lib/rvm/capistrano/gemset_import_export.rb index e13331b..044e9f5 100644 --- a/lib/rvm/capistrano/gemset_import_export.rb +++ b/lib/rvm/capistrano/gemset_import_export.rb @@ -2,7 +2,7 @@ rvm_with_capistrano do - on :load do + deffered_load do # Let users configure a path to export/import gemsets _cset(:rvm_gemset_path, "#{rvm_path}/gemsets") diff --git a/lib/rvm/capistrano/helpers/base.rb b/lib/rvm/capistrano/helpers/base.rb index 07bd554..49322aa 100644 --- a/lib/rvm/capistrano/helpers/base.rb +++ b/lib/rvm/capistrano/helpers/base.rb @@ -1,4 +1,13 @@ module Capistrano + class Configuration + def deffered_load(&block) + if current_task + instance_eval(&block) + else + on(:load, &block) + end + end + end end def rvm_with_capistrano(&block) diff --git a/lib/rvm/capistrano/helpers/rvm_if_sudo.rb b/lib/rvm/capistrano/helpers/rvm_if_sudo.rb index 8e8d7f9..1f2eb29 100644 --- a/lib/rvm/capistrano/helpers/rvm_if_sudo.rb +++ b/lib/rvm/capistrano/helpers/rvm_if_sudo.rb @@ -2,7 +2,7 @@ rvm_with_capistrano do - on :load do + deffered_load do # Default sudo state _cset(:rvm_install_with_sudo, false) end diff --git a/lib/rvm/capistrano/install_pkgs.rb b/lib/rvm/capistrano/install_pkgs.rb index 67d3763..261c1c8 100644 --- a/lib/rvm/capistrano/install_pkgs.rb +++ b/lib/rvm/capistrano/install_pkgs.rb @@ -4,7 +4,7 @@ warn "task 'rvm:install_pkgs' is deprecated, please read about autolibs => http://rvm.io/rvm/autolibs especially check the autolibs mode 'rvm_pkg'." - on :load do + deffered_load do # Additional rvm packages to install. _cset(:rvm_install_pkgs, []) diff --git a/lib/rvm/capistrano/install_ruby.rb b/lib/rvm/capistrano/install_ruby.rb index d158da4..a3b75a5 100644 --- a/lib/rvm/capistrano/install_ruby.rb +++ b/lib/rvm/capistrano/install_ruby.rb @@ -5,7 +5,7 @@ rvm_with_capistrano do - on :load do + deffered_load do # Let users set the (re)install for ruby. _cset(:rvm_install_ruby, :install) diff --git a/lib/rvm/capistrano/install_rvm.rb b/lib/rvm/capistrano/install_rvm.rb index ded1edd..c13e6b5 100644 --- a/lib/rvm/capistrano/install_rvm.rb +++ b/lib/rvm/capistrano/install_rvm.rb @@ -4,7 +4,7 @@ rvm_with_capistrano do - on :load do + deffered_load do # Let users set the install type of their choice. _cset(:rvm_install_type, :stable) diff --git a/lib/rvm/capistrano/selector.rb b/lib/rvm/capistrano/selector.rb index 00b6e22..b4de77a 100644 --- a/lib/rvm/capistrano/selector.rb +++ b/lib/rvm/capistrano/selector.rb @@ -1,7 +1,7 @@ require 'rvm/capistrano/base' rvm_with_capistrano do - on :load do + deffered_load do # conflicts with rvm/capistrano/selector_mixed unless fetch(:rvm_require_role,nil).nil? diff --git a/lib/rvm/capistrano/version.rb b/lib/rvm/capistrano/version.rb index ac1781a..1b7a62f 100644 --- a/lib/rvm/capistrano/version.rb +++ b/lib/rvm/capistrano/version.rb @@ -1,5 +1,5 @@ module RVM class Capistrano - VERSION="1.4.0.rc2" + VERSION="1.4.0.rc3" end end