Class: Mxrb::OfficialMarketplace::ModulePackageAssets
- Inherits:
-
Object
- Object
- Mxrb::OfficialMarketplace::ModulePackageAssets
- Defined in:
- lib/mxrb/official_marketplace/module_package_importer.rb
Overview
Installs declared package files with rollback support.
Instance Method Summary collapse
-
#initialize(target_root, temporary) ⇒ ModulePackageAssets
constructor
A new instance of ModulePackageAssets.
- #install(staged_files, protected_files = []) ⇒ Object
- #rollback ⇒ Object
Constructor Details
#initialize(target_root, temporary) ⇒ ModulePackageAssets
Returns a new instance of ModulePackageAssets.
116 117 118 119 120 |
# File 'lib/mxrb/official_marketplace/module_package_importer.rb', line 116 def initialize(target_root, temporary) @target_root = target_root @backup_root = File.join(temporary, 'backups') @changes = [] end |
Instance Method Details
#install(staged_files, protected_files = []) ⇒ Object
122 123 124 125 126 |
# File 'lib/mxrb/official_marketplace/module_package_importer.rb', line 122 def install(staged_files, protected_files = []) staged_files.each do |relative, source| install_file(relative, source) unless protected_files.include?(relative) end end |
#rollback ⇒ Object
128 129 130 131 132 |
# File 'lib/mxrb/official_marketplace/module_package_importer.rb', line 128 def rollback @changes.reverse_each do |destination, backup| backup ? FileUtils.cp(backup, destination) : FileUtils.rm_f(destination) end end |