Class: Zip::ZipFileSystem::ZipFileNameMapper
Overview
All access to ZipFile from ZipFsFile and ZipFsDir goes through a ZipFileNameMapper, which has one responsibility: ensure
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Enumerable
#deep_clone, #deep_dup, #inject, #select_map
Constructor Details
Returns a new instance of ZipFileNameMapper.
487
488
489
490
|
# File 'lib/zip/zipfilesystem.rb', line 487
def initialize(zipFile)
@zipFile = zipFile
@pwd = "/"
end
|
Instance Attribute Details
Returns the value of attribute pwd.
492
493
494
|
# File 'lib/zip/zipfilesystem.rb', line 492
def pwd
@pwd
end
|
Instance Method Details
Turns entries into strings and adds leading / and removes trailing slash on directories
529
530
531
532
533
534
|
# File 'lib/zip/zipfilesystem.rb', line 529
def each
@zipFile.each {
|e|
yield("/"+e.to_s.chomp("/"))
}
end
|
#expand_path(aPath) ⇒ Object
536
537
538
539
540
541
|
# File 'lib/zip/zipfilesystem.rb', line 536
def expand_path(aPath)
expanded = aPath.starts_with("/") ? aPath : @pwd.ensure_end("/") + aPath
expanded.gsub!(/\/\.(\/|$)/, "")
expanded.gsub!(/[^\/]+\/\.\.(\/|$)/, "")
expanded.empty? ? "/" : expanded
end
|
#find_entry(fileName) ⇒ Object
494
495
496
|
# File 'lib/zip/zipfilesystem.rb', line 494
def find_entry(fileName)
@zipFile.find_entry(expand_to_entry(fileName))
end
|
#get_entry(fileName) ⇒ Object
498
499
500
|
# File 'lib/zip/zipfilesystem.rb', line 498
def get_entry(fileName)
@zipFile.get_entry(expand_to_entry(fileName))
end
|
502
503
504
|
# File 'lib/zip/zipfilesystem.rb', line 502
def get_input_stream(fileName, &aProc)
@zipFile.get_input_stream(expand_to_entry(fileName), &aProc)
end
|
#get_output_stream(fileName, &aProc) ⇒ Object
506
507
508
|
# File 'lib/zip/zipfilesystem.rb', line 506
def get_output_stream(fileName, &aProc)
@zipFile.get_output_stream(expand_to_entry(fileName), &aProc)
end
|
#mkdir(fileName, permissionInt = 0) ⇒ Object
523
524
525
|
# File 'lib/zip/zipfilesystem.rb', line 523
def mkdir(fileName, permissionInt = 0)
@zipFile.mkdir(expand_to_entry(fileName), permissionInt)
end
|
#read(fileName) ⇒ Object
510
511
512
|
# File 'lib/zip/zipfilesystem.rb', line 510
def read(fileName)
@zipFile.read(expand_to_entry(fileName))
end
|
#remove(fileName) ⇒ Object
514
515
516
|
# File 'lib/zip/zipfilesystem.rb', line 514
def remove(fileName)
@zipFile.remove(expand_to_entry(fileName))
end
|
#rename(fileName, newName, &continueOnExistsProc) ⇒ Object
518
519
520
521
|
# File 'lib/zip/zipfilesystem.rb', line 518
def rename(fileName, newName, &continueOnExistsProc)
@zipFile.rename(expand_to_entry(fileName), expand_to_entry(newName),
&continueOnExistsProc)
end
|