Class: Engineyard::Local::Middleware::Rails::Install
Instance Method Summary
collapse
#project_dir, #ssh_exec, #ssh_exec!
#bash_rvm_setup, #export_ruby, #ruby_env_const, #rvm_env, #use_ruby_with_gemset
Constructor Details
#initialize(app, env) ⇒ Install
9
10
11
|
# File 'lib/engineyard-local/middleware/rails/install.rb', line 9
def initialize(app, env)
@app, @env = app, env
end
|
Instance Method Details
#call(env) ⇒ Object
13
14
15
16
|
# File 'lib/engineyard-local/middleware/rails/install.rb', line 13
def call(env)
ssh_exec!(env, commands)
@app.call(env)
end
|
#commands ⇒ Object
18
19
20
21
|
# File 'lib/engineyard-local/middleware/rails/install.rb', line 18
def commands
rvm_env +
[ unless_rails("gem install rails #{install_opts}") ]
end
|
#install_opts ⇒ Object
23
24
25
26
27
|
# File 'lib/engineyard-local/middleware/rails/install.rb', line 23
def install_opts
if @env["eylocal.rails.version"]
"--version=#{@env["eylocal.rails.version"]}"
end
end
|
#unless_rails(cmd) ⇒ Object
29
30
31
|
# File 'lib/engineyard-local/middleware/rails/install.rb', line 29
def unless_rails(cmd)
"gem list rails | grep rails; if [[ $? -gt 0 ]]; then sudo #{cmd}; fi"
end
|