2016-07-13 5 views
0

Mit Version 1.2.0 erhalte ich seltsame Ergebnisse, wenn ich versuche, glob auf einem ZipFsDir Objekt aufzurufen. In einer Schienen-Konsole:rubyzip Zip :: FileSystem :: ZipFsDir glob Methode gebrochen?

> require 'zip/filesystem' 
=> true 
> file = '/home/me/test.zip' 
=> "/home/me/test.zip" 
> zf = Zip::File.open file 
=> #<Zip::File:0x0000000880e0c8... 
> d = zf.dir 
=> #<Zip::FileSystem::ZipFsDir:0x0000000880e028 
> d.class 
=> Zip::FileSystem::ZipFsDir 
> d.glob("*.shp") 
NoMethodError: undefined method `glob' for #<Zip::FileSystem::ZipFileNameMapper:0x0000000880e078> 

Warum meldet es, dass das Verfahren für Zip::FileSystem::ZipFileNameMapper nicht definiert ist? Ich nannte es auf einem ZipFsDir Objekt. Die Dokumente listen glob als ZipFsDir instance method übersichtlich auf.

Antwort

1

Ein Grund, warum dies passiert, ist ZipFileNameMapper tatsächlich implementiert die glob Methode wie in it's source gesehen werden kann.

Nach dieser Aussage:

Alle Zugriffe auf Zip :: Datei von ZipFsFile und ZipFsDir geht durch eine ZipFileNameMapper

ZipFileNameMapper sollte glob implementieren, die es nicht so dass es aussieht wie ein möglicher Fehler.

Verwandte Themen