Sha256: 86e26cdcabcfaec30ebba3611d5e0081ca257cfa5ee176f15ba52754f5593983
Contents?: true
Size: 1.92 KB
Versions: 4
Compression:
Stored size: 1.92 KB
Contents
require 'libgems/uninstaller' module BPM class Local < Repository def uninstall(package) LibGems::Uninstaller.new(package).uninstall true rescue LibGems::InstallError false end def pack(path, email=nil) package_path = File.dirname(File.expand_path path) cur_pwd = Dir.pwd FileUtils.cd package_path if package_path != cur_pwd package = BPM::Package.new(nil, email || creds.email) package.json_path = File.basename path if package.valid? silence do LibGems::Builder.new(package.to_spec).build end end FileUtils.cd cur_pwd if package_path != cur_pwd package end def unpack(path, target) package = BPM::Package.new package.bpkg = path unpack_dir = File.expand_path(File.join(Dir.pwd, target, package.to_full_name)) LibGems::Installer.new(path, :unpack => true).unpack unpack_dir package end def installed(packages) specs = LibGems.source_index.search dependency_for(packages) specs.map do |spec| [spec.name, spec.version, spec.original_platform] end end def preferred_version(package, vers, prerelease) dep = LibGems::Dependency.new package, vers specs = LibGems.source_index.search dep specs.last.version.to_s end def source_root(package, vers, prerelease) dep = LibGems::Dependency.new package, vers specs = LibGems.source_index.search dep dep2 = LibGems::Dependency.new package, '>= 0' specs2 = LibGems.source_index.search dep2 spec = specs.last spec && File.join(spec.installation_path, 'gems', "#{spec.name}-#{spec.version}") end private def silence original_verbose = LibGems.configuration.verbose LibGems.configuration.verbose = false yield ensure LibGems.configuration.verbose = original_verbose end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bpm-0.1.4 | lib/bpm/local.rb |
bpm-0.1.3 | lib/bpm/local.rb |
bpm-0.1.2 | lib/bpm/local.rb |
bpm-0.1.0 | lib/bpm/local.rb |