module PrivatePlease::Utils::RubyUtils
Public Instance Methods
gem_env()
click to toggle source
# File lib/private_please/utils/ruby_utils.rb, line 8 def gem_env @_gem_env ||= begin `gem env` end end
gems_paths()
click to toggle source
-
GEM PATHS:
-
/Users/alain/.rvm/gems/ruby-2.3.0
-
/Users/alain/.rvm/gems/ruby-2.3.0
-
# File lib/private_please/utils/ruby_utils.rb, line 30 def gems_paths @_gems_paths ||= YAML.load(gem_env)['RubyGems Environment'].detect do |hash| hash['GEM PATHS'] end['GEM PATHS'] end
ruby_executable_path()
click to toggle source
Ex: “/Users/ara/.rbenv/versions/jruby-1.7.3/bin/jruby”
# File lib/private_please/utils/ruby_utils.rb, line 37 def ruby_executable_path @_ruby_executable_path ||= gem_env.match(/RUBY EXECUTABLE:\s*(.*)/)[1] end
std_lib_home()
click to toggle source
Ex: “/Users/ara/.rbenv/versions/jruby-1.7.3/lib/ruby/1.9”
# File lib/private_please/utils/ruby_utils.rb, line 15 def std_lib_home @_std_lib_home ||= begin basedir = ruby_executable_path.gsub(/bin\/[j]?ruby/, 'lib/ruby') # => "/Users/ara/.rbenv/versions/jruby-1.7.3/lib/ruby" # jruby has 2+ directories of std. libs under the basedir : 1.8 and 1.9 $LOAD_PATH.detect do |path| # We choose the one that is also in the load path. path =~ /#{basedir}\/[12][^\/]+$/ # end # ^^^^^^^^^^ # => "/Users/ara/.rbenv/versions/jruby-1.7.3/lib/ruby/1.9" end # ^^^ == the mode end