Class: Zip::ZipFileSystem::ZipFileNameMapper
- Inherits:
-
Object
- Object
- Zip::ZipFileSystem::ZipFileNameMapper
- Includes:
- Enumerable
- Defined in:
- lib/zip/zipfilesystem.rb
Overview
All access to ZipFile from ZipFsFile and ZipFsDir goes through a ZipFileNameMapper, which has one responsibility: ensure
Instance Attribute Summary collapse
-
#pwd ⇒ Object
Returns the value of attribute pwd.
Instance Method Summary collapse
-
#each ⇒ Object
Turns entries into strings and adds leading / and removes trailing slash on directories.
- #expand_path(aPath) ⇒ Object
- #find_entry(fileName) ⇒ Object
- #get_entry(fileName) ⇒ Object
- #get_input_stream(fileName, &aProc) ⇒ Object
- #get_output_stream(fileName, permissionInt = nil, &aProc) ⇒ Object
-
#initialize(zipFile) ⇒ ZipFileNameMapper
constructor
A new instance of ZipFileNameMapper.
- #mkdir(fileName, permissionInt = 0755) ⇒ Object
- #read(fileName) ⇒ Object
- #remove(fileName) ⇒ Object
- #rename(fileName, newName, &continueOnExistsProc) ⇒ Object
Constructor Details
#initialize(zipFile) ⇒ ZipFileNameMapper
Returns a new instance of ZipFileNameMapper.
547 548 549 550 |
# File 'lib/zip/zipfilesystem.rb', line 547 def initialize(zipFile) @zipFile = zipFile @pwd = "/" end |
Instance Attribute Details
#pwd ⇒ Object
Returns the value of attribute pwd.
552 553 554 |
# File 'lib/zip/zipfilesystem.rb', line 552 def pwd @pwd end |
Instance Method Details
#each ⇒ Object
Turns entries into strings and adds leading / and removes trailing slash on directories
589 590 591 592 593 594 |
# File 'lib/zip/zipfilesystem.rb', line 589 def each @zipFile.each { |e| yield("/"+e.to_s.chomp("/")) } end |
#expand_path(aPath) ⇒ Object
596 597 598 599 600 601 |
# File 'lib/zip/zipfilesystem.rb', line 596 def (aPath) = aPath.start_with?("/") ? aPath : ::File.join(@pwd, aPath) .gsub!(/\/\.(\/|$)/, "") .gsub!(/[^\/]+\/\.\.(\/|$)/, "") .empty? ? "/" : end |
#find_entry(fileName) ⇒ Object
554 555 556 |
# File 'lib/zip/zipfilesystem.rb', line 554 def find_entry(fileName) @zipFile.find_entry((fileName)) end |
#get_entry(fileName) ⇒ Object
558 559 560 |
# File 'lib/zip/zipfilesystem.rb', line 558 def get_entry(fileName) @zipFile.get_entry((fileName)) end |
#get_input_stream(fileName, &aProc) ⇒ Object
562 563 564 |
# File 'lib/zip/zipfilesystem.rb', line 562 def get_input_stream(fileName, &aProc) @zipFile.get_input_stream((fileName), &aProc) end |
#get_output_stream(fileName, permissionInt = nil, &aProc) ⇒ Object
566 567 568 |
# File 'lib/zip/zipfilesystem.rb', line 566 def get_output_stream(fileName, = nil, &aProc) @zipFile.get_output_stream((fileName), , &aProc) end |
#mkdir(fileName, permissionInt = 0755) ⇒ Object
583 584 585 |
# File 'lib/zip/zipfilesystem.rb', line 583 def mkdir(fileName, = 0755) @zipFile.mkdir((fileName), ) end |
#read(fileName) ⇒ Object
570 571 572 |
# File 'lib/zip/zipfilesystem.rb', line 570 def read(fileName) @zipFile.read((fileName)) end |
#remove(fileName) ⇒ Object
574 575 576 |
# File 'lib/zip/zipfilesystem.rb', line 574 def remove(fileName) @zipFile.remove((fileName)) end |
#rename(fileName, newName, &continueOnExistsProc) ⇒ Object
578 579 580 581 |
# File 'lib/zip/zipfilesystem.rb', line 578 def rename(fileName, newName, &continueOnExistsProc) @zipFile.rename((fileName), (newName), &continueOnExistsProc) end |