Sha256: 8f997ddc27dfb66bbce9afcdb3a48eef3039c9203bcbac0df27c5819062ccc9b

Contents?: true

Size: 848 Bytes

Versions: 21

Compression:

Stored size: 848 Bytes

Contents

require 'zipruby'

module EPUB
  class OCF
    class PhysicalContainer
      class Zipruby < self
        def open
          Zip::Archive.open @container_path do |archive|
            @monitor.synchronize do
              begin
                @archive = archive
                yield self
              rescue ::Zip::Error => error
                raise NoEntry.from_error(error)
              ensure
                @archive = nil
              end
            end
          end
        end

        def read(path_name)
          if @archive
            @archive.fopen(path_name) {|entry| entry.read}
          else
            open {|container| container.read(path_name)}
          end
        rescue ::Zip::Error => error
          raise NoEntry.from_error(error)
        ensure
          @archive = nil
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
epub-parser-0.4.8 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.7 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.6 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.5 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.4 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.3 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.2 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.1 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.4.0 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.9 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.8 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.7 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.6 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.5 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.4 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.3 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.2 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.1 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.3.0 lib/epub/ocf/physical_container/zipruby.rb
epub-parser-0.2.9 lib/epub/ocf/physical_container/zipruby.rb