class DRbQS::Manage::SSHShell::RubyEnvironment
Constants
- DEFAULT_RVM_SCRIPT
Attributes
directory[R]
env[R]
rvm[R]
rvm_init[R]
Public Class Methods
new(opts = {})
click to toggle source
@param [Hash] opts The options of ruby environment. @option opts [String] :directory Directory when we execute commands. @option opts [String] :rvm Set ruby implementation on rvm. @option opts [String] :rvm_init Set the path of init script of rvm. @option opts [Hash] :env Set pair of environmental variables and their values.
# File lib/drbqs/manage/ssh_shell.rb, line 20 def initialize(opts = {}) @directory = opts[:directory] @rvm = opts[:rvm] @rvm_init = opts[:rvm_init] if (@rvm || @rvm_init) && !(String === @rvm_init) @rvm_init = DEFAULT_RVM_SCRIPT end @env = opts[:env] end
Public Instance Methods
get_environment_commands()
click to toggle source
# File lib/drbqs/manage/ssh_shell.rb, line 49 def get_environment_commands ['echo "directory: " `pwd`', 'echo "files:"', 'ls', 'if which rvm > /dev/null; then rvm info; else ruby -v; fi'] end
setup_commands()
click to toggle source
# File lib/drbqs/manage/ssh_shell.rb, line 41 def setup_commands cmds = commands_to_set_env_on_bash cmds << "cd #{@directory}" if @directory cmds << "source #{@rvm_init}" if @rvm_init cmds << "rvm use #{@rvm}" if @rvm cmds end
Private Instance Methods
commands_to_set_env_on_bash()
click to toggle source
# File lib/drbqs/manage/ssh_shell.rb, line 30 def commands_to_set_env_on_bash if @env @env.map do |var, val| "export #{var}=#{val}" end else [] end end