Module: PrivatePlease::Utils::RubyUtils

Defined in:
lib/private_please/utils/ruby_utils.rb

Class Method Summary collapse

Class Method Details

.gem_envObject



8
9
10
11
12
# File 'lib/private_please/utils/ruby_utils.rb', line 8

def gem_env
  @_gem_env ||= begin
    `gem env`
  end
end

.gems_pathsObject

  • GEM PATHS:

    • /Users/alain/.rvm/gems/ruby-2.3.0

    • /Users/alain/.rvm/gems/ruby-2.3.0@global



30
31
32
33
34
# 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

.std_lib_homeObject

Ex: “/Users/ara/.rbenv/versions/jruby-1.7.3/lib/ruby/1.9”



15
16
17
18
19
20
21
22
23
24
# 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