class PackageUtils
Public Class Methods
activate(package_name)
click to toggle source
# File lib/lace/package/utils.rb, line 38 def self.activate package_name package = Package.new(package_name, ARGV.first) raise AlreadyActiveError.new if Package.new(package_name, false).is_active? ohai "Activating" package.activate! end
deactivate(package_name)
click to toggle source
# File lib/lace/package/utils.rb, line 31 def self.deactivate package_name package = Package.new(package_name, ARGV.first) raise NonActiveFlavorError.new unless package.is_active? || ARGV.force? ohai "Deactivating" package.deactivate! end
fetch(uri, desired_package_name=nil)
click to toggle source
# File lib/lace/package/utils.rb, line 5 def self.fetch uri, desired_package_name=nil downloader_cls = DownloadStrategyDetector.detect(uri) downloader = downloader_cls.new(uri, desired_package_name) raise PackageAlreadyInstalled.new(downloader.target_folder) if downloader.target_folder.exist? downloader.fetch return downloader.name, downloader.target_folder end
remove(package_name)
click to toggle source
# File lib/lace/package/utils.rb, line 13 def self.remove package_name package = Package.new(package_name, false) raise CannotRemoveActivePackage.new if package.is_active? ohai "Removing" FileUtils.rm_rf package.path end
setup(package_name)
click to toggle source
# File lib/lace/package/utils.rb, line 20 def self.setup package_name begin package = Package.new(package_name, ARGV.first) package.activate! package.setup rescue FlavorError => e onoe e.message onoe "Package remains installed but was not activated" end end
update(package_name)
click to toggle source
# File lib/lace/package/utils.rb, line 45 def self.update package_name package = Package.new(package_name, false) raise OnlyGitReposCanBeUpdatedError.new unless package.is_git_repo? updater = GitUpdateStrategy.new(package_name) was_active_before_update = package.is_active? self.deactivate(package_name) if was_active_before_update ohai "Updating" updater.update self.activate(package_name) if was_active_before_update package = Package.new package_name, false package.after_update end