class EPUB::OCF::PhysicalContainer::Rubyzip
Public Instance Methods
open() { |self| ... }
click to toggle source
# File lib/epub/ocf/physical_container/rubyzip.rb, line 7 def open orig_encoding = Zip.force_entry_names_encoding begin Zip.force_entry_names_encoding = "UTF-8" Zip::File.open @container_path do |archive| @monitor.synchronize do @archive = archive begin yield self ensure @archive = nil end end end ensure Zip.force_entry_names_encoding = orig_encoding end end
read(path_name)
click to toggle source
# File lib/epub/ocf/physical_container/rubyzip.rb, line 26 def read(path_name) if @archive @archive.read(path_name) else open {|container| container.read(path_name)} end rescue Errno::ENOENT => error raise NoEntry.from_error(error) end