Class: Zip::FileSystem::ZipFileNameMapper
- Inherits:
-
Object
- Object
- Zip::FileSystem::ZipFileNameMapper
- Includes:
- Enumerable
- Defined in:
- lib/zip/filesystem.rb
Overview
All access to Zip::File 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.
553 554 555 556 |
# File 'lib/zip/filesystem.rb', line 553 def initialize(zipFile) @zipFile = zipFile @pwd = '/' end |
Instance Attribute Details
#pwd ⇒ Object
Returns the value of attribute pwd.
558 559 560 |
# File 'lib/zip/filesystem.rb', line 558 def pwd @pwd end |
Instance Method Details
#each ⇒ Object
Turns entries into strings and adds leading / and removes trailing slash on directories
595 596 597 598 599 |
# File 'lib/zip/filesystem.rb', line 595 def each @zipFile.each do |e| yield('/' + e.to_s.chomp('/')) end end |
#expand_path(aPath) ⇒ Object
601 602 603 604 605 606 |
# File 'lib/zip/filesystem.rb', line 601 def (aPath) = aPath.start_with?('/') ? aPath : ::File.join(@pwd, aPath) .gsub!(/\/\.(\/|$)/, '') .gsub!(/[^\/]+\/\.\.(\/|$)/, '') .empty? ? '/' : end |
#find_entry(fileName) ⇒ Object
560 561 562 |
# File 'lib/zip/filesystem.rb', line 560 def find_entry(fileName) @zipFile.find_entry((fileName)) end |
#get_entry(fileName) ⇒ Object
564 565 566 |
# File 'lib/zip/filesystem.rb', line 564 def get_entry(fileName) @zipFile.get_entry((fileName)) end |
#get_input_stream(fileName, &aProc) ⇒ Object
568 569 570 |
# File 'lib/zip/filesystem.rb', line 568 def get_input_stream(fileName, &aProc) @zipFile.get_input_stream((fileName), &aProc) end |
#get_output_stream(fileName, permissionInt = nil, &aProc) ⇒ Object
572 573 574 |
# File 'lib/zip/filesystem.rb', line 572 def get_output_stream(fileName, = nil, &aProc) @zipFile.get_output_stream((fileName), , &aProc) end |
#mkdir(fileName, permissionInt = 0755) ⇒ Object
589 590 591 |
# File 'lib/zip/filesystem.rb', line 589 def mkdir(fileName, = 0755) @zipFile.mkdir((fileName), ) end |
#read(fileName) ⇒ Object
576 577 578 |
# File 'lib/zip/filesystem.rb', line 576 def read(fileName) @zipFile.read((fileName)) end |
#remove(fileName) ⇒ Object
580 581 582 |
# File 'lib/zip/filesystem.rb', line 580 def remove(fileName) @zipFile.remove((fileName)) end |
#rename(fileName, newName, &continueOnExistsProc) ⇒ Object
584 585 586 587 |
# File 'lib/zip/filesystem.rb', line 584 def rename(fileName, newName, &continueOnExistsProc) @zipFile.rename((fileName), (newName), &continueOnExistsProc) end |