Class: PackageUtils
- Inherits:
-
Object
- Object
- PackageUtils
- Defined in:
- lib/lace/package/utils.rb
Class Method Summary collapse
- .activate(package_name) ⇒ Object
- .deactivate(package_name) ⇒ Object
- .fetch(uri, desired_package_name = nil) ⇒ Object
- .remove(package_name) ⇒ Object
- .setup(package_name) ⇒ Object
- .update(package_name) ⇒ Object
Class Method Details
.activate(package_name) ⇒ Object
38 39 40 41 42 43 |
# 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) ⇒ Object
31 32 33 34 35 36 |
# 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) ⇒ Object
5 6 7 8 9 10 11 |
# 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 if downloader.target_folder.exist? downloader.fetch return downloader.name, downloader.target_folder end |
.remove(package_name) ⇒ Object
13 14 15 16 17 18 |
# 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) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# 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. onoe "Package remains installed but was not activated" end end |
.update(package_name) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# 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 |