Class: RubyEnv
- Inherits:
-
Object
- Object
- RubyEnv
- Defined in:
- lib/shared/adapters/helpers/ruby_env.rb
Class Method Summary collapse
- .bundler?(project_path) ⇒ Boolean
- .gem_exists?(gem) ⇒ Boolean
- .ruby_command(project_path, opts = {}) ⇒ Object
- .rvm? ⇒ Boolean
- .rvm_prefix(project_path) ⇒ Object
Class Method Details
.bundler?(project_path) ⇒ Boolean
2 3 4 |
# File 'lib/shared/adapters/helpers/ruby_env.rb', line 2 def self.bundler?(project_path) gem_exists?("bundler") && File.exists?("#{project_path}/Gemfile") end |
.gem_exists?(gem) ⇒ Boolean
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/shared/adapters/helpers/ruby_env.rb', line 6 def self.gem_exists?(gem) if Gem::Specification.respond_to?(:find_by_name) Gem::Specification.find_by_name(gem) else # older depricated method Gem.available?(gem) end rescue Gem::LoadError false end |
.ruby_command(project_path, opts = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/shared/adapters/helpers/ruby_env.rb', line 17 def self.ruby_command(project_path, opts = {}) ruby_interpreter = opts[:ruby_interpreter] || "ruby" if opts[:script] && File.exists?("#{project_path}/#{opts[:script]}") command = opts[:script] elsif opts[:bin] command = opts[:bin] else command = nil end if bundler?(project_path) "#{rvm_prefix(project_path)} #{ruby_interpreter} -S bundle exec #{command}".strip else "#{rvm_prefix(project_path)} #{ruby_interpreter} -S #{command}".strip end end |
.rvm? ⇒ Boolean
44 45 46 |
# File 'lib/shared/adapters/helpers/ruby_env.rb', line 44 def self.rvm? system("rvm info") != nil end |
.rvm_prefix(project_path) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/shared/adapters/helpers/ruby_env.rb', line 35 def self.rvm_prefix(project_path) if rvm? rvmrc_path = File.join project_path, ".rvmrc" if File.exists?(rvmrc_path) File.read(rvmrc_path).to_s.strip + " exec" end end end |