module Rsense::Server::LoadPath
Constants
- Dependency
Public Instance Methods
check_version(gem_paths, version)
click to toggle source
# File lib/rsense/server/load_path.rb, line 43 def check_version(gem_paths, version) gem_paths.select do |p| p.to_s =~ /#{version}/ end end
dependencies(project)
click to toggle source
# File lib/rsense/server/load_path.rb, line 19 def dependencies(project) @deps = [] @gemfile = find_gemfile(project) if @gemfile start_dir = Dir.pwd Dir.chdir(@gemfile.dirname) lockfile = Bundler::LockfileParser.new(Bundler.read_file(@gemfile)) @deps = gem_info(lockfile) Dir.chdir(start_dir) end @deps end
fetch()
click to toggle source
# File lib/rsense/server/load_path.rb, line 15 def fetch $LOAD_PATH end
find_gemfile(project, level=0)
click to toggle source
# File lib/rsense/server/load_path.rb, line 55 def find_gemfile(project, level=0) level = level + 1 pth = Pathname.new(project).expand_path lockfile = pth.join("Gemfile.lock") if lockfile.exist? return lockfile else unless level > 6 lockfile = find_gemfile(pth.parent, level) end end end
find_paths(name)
click to toggle source
# File lib/rsense/server/load_path.rb, line 49 def find_paths(name) paths = Gem.find_files(name) return paths unless paths.empty? && name.length > 1 find_paths(name.chop) end
gem_info(lfile)
click to toggle source
# File lib/rsense/server/load_path.rb, line 32 def gem_info(lfile) lfile.specs.map do |s| generate_struct(s.name, s.version) end end
generate_struct(name, version)
click to toggle source
# File lib/rsense/server/load_path.rb, line 38 def generate_struct(name, version) paths = check_version(find_paths(name), version) Dependency.new(name, "#{name}-#{version.to_s}", paths) end
paths()
click to toggle source
# File lib/rsense/server/load_path.rb, line 11 def paths fetch.map { |p| p unless p.to_s =~ /^file:/ } end