Class: AndParcel::RemoveRequest
- Inherits:
-
Object
- Object
- AndParcel::RemoveRequest
- Defined in:
- lib/andparcel/parcel.rb
Instance Attribute Summary collapse
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
-
#root ⇒ Object
readonly
Returns the value of attribute root.
Instance Method Summary collapse
- #assets(zf) ⇒ Object
-
#initialize(opts) ⇒ RemoveRequest
constructor
A new instance of RemoveRequest.
- #libs(zf) ⇒ Object
- #manifest(zf) ⇒ Object
- #remove(parcel_name) ⇒ Object
- #resources(zf) ⇒ Object
Constructor Details
#initialize(opts) ⇒ RemoveRequest
Returns a new instance of RemoveRequest.
438 439 440 441 |
# File 'lib/andparcel/parcel.rb', line 438 def initialize(opts) @opts=opts @root=opts[:dir] || '.' end |
Instance Attribute Details
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
436 437 438 |
# File 'lib/andparcel/parcel.rb', line 436 def opts @opts end |
#root ⇒ Object (readonly)
Returns the value of attribute root.
436 437 438 |
# File 'lib/andparcel/parcel.rb', line 436 def root @root end |
Instance Method Details
#assets(zf) ⇒ Object
489 490 491 492 493 494 495 496 497 498 499 500 501 |
# File 'lib/andparcel/parcel.rb', line 489 def assets(zf) dir=File.join(@root, 'assets') zf.entries.each do |entry| if (/^assets\/(.+)$/.match entry.name) name=$1 dest=File.join(dir, File.dirname(name), File.basename(name)) File.unlink(dest) if File.exists?(dest) end end true end |
#libs(zf) ⇒ Object
464 465 466 467 468 469 470 471 472 473 |
# File 'lib/andparcel/parcel.rb', line 464 def libs(zf) zf.entries.each do |entry| if ('libs/'==entry.parent_as_string) dest=File.join(@root, 'libs', File.basename(entry.name)) File.unlink(dest) if File.exists?(dest) end end true end |
#manifest(zf) ⇒ Object
503 504 |
# File 'lib/andparcel/parcel.rb', line 503 def manifest(zf) end |
#remove(parcel_name) ⇒ Object
443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 |
# File 'lib/andparcel/parcel.rb', line 443 def remove(parcel_name) @parcel_root=File.join(root, 'parcels', parcel_name) if File.exists?(@parcel_root) dest=Dir[File.join(@parcel_root, '*.zip')][0] if dest Zip::ZipFile.open(dest) do |zf| manifest(zf) if assets(zf) if resources(zf) if libs(zf) end FileUtils.rm_rf @parcel_root end else raise "Parcel not installed: #{parcel_name}" end end |
#resources(zf) ⇒ Object
475 476 477 478 479 480 481 482 483 484 485 486 487 |
# File 'lib/andparcel/parcel.rb', line 475 def resources(zf) dir=File.join(@root, 'res') zf.entries.each do |entry| if (/^res\/(.+)$/.match entry.name) name=$1 dest=File.join(dir, File.dirname(name), File.basename(name)) File.unlink(dest) if File.exists?(dest) end end true end |