Class: Nu::GemTools

Inherits:
Object
  • Object
show all
Defined in:
lib/nu/gem_tools.rb

Class Method Summary collapse

Class Method Details

.lib_for(name, requirement = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/nu/gem_tools.rb', line 17

def self.lib_for(name, requirement=nil)
	gem = spec_for(name, requirement)
	gem_path = gem.full_gem_path
	libdir = File.join(gem_path,"lib")
	unless File.exist?(libdir)
	  libdir = IO.readlines(File.join(gem_path, ".require_paths"))[0].strip 
	  libdir = File.expand_path(File.join(gem_path,libdir))
	end
	libdir
end

.spec_for(name, requirement = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/nu/gem_tools.rb', line 6

def self.spec_for(name, requirement=nil)
			unless requirement.respond_to?('satisfied_by?') 
requirement = Gem::Requirement.create(requirement)
			end
			dependency = Gem::Dependency.new(name,requirement)
			searcher = Gem::GemPathSearcher.new()
			all_installed_gems = searcher.init_gemspecs()
			
  return all_installed_gems.detect {|spec| spec.satisfies_requirement?(dependency)}
end