Sha256: 30a90600689875b0204c1ad202ea4ce61b62c4ab243a16f3108cf135fb178668
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
require 'epub/ocf/physical_container/archive_zip' require 'epub/ocf/physical_container/unpacked_directory' require 'epub/ocf/physical_container/unpacked_uri' module EPUB class OCF # @todo: Make thread save class PhysicalContainer class NoEntry < StandardError; end @adapter = ArchiveZip class << self def adapter raise NoMethodError, "undefined method `#{__method__}' for #{self}" unless self == PhysicalContainer @adapter end def adapter=(adapter) raise NoMethodError, "undefined method `#{__method__}' for #{self}" unless self == PhysicalContainer @adapter = adapter.instance_of?(Class) ? adapter : const_get(adapter) adapter end def open(container_path) _adapter.new(container_path).open do |container| yield container end end def read(container_path, path_name) open(container_path) {|container| container.read(path_name) } end private def _adapter (self == PhysicalContainer) ? @adapter : self end end def initialize(container_path) @container_path = container_path end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
epub-parser-0.2.5 | lib/epub/ocf/physical_container.rb |