Sha256: b489ada9f0b97802c48f1beb1dee635ad1cceb3c24561851007e6896f519cc6a
Contents?: true
Size: 1.47 KB
Versions: 3
Compression:
Stored size: 1.47 KB
Contents
module EPUB module Publication class Package class Spine attr_accessor :package, :id, :toc, :page_progression_direction attr_reader :itemrefs def <<(itemref) @itemrefs ||= [] itemref.spine = self @itemrefs << itemref end # @yield [itemref] # @yieldparam [Itemref] itemref # @yieldreturn [Object] returns the last value of block # @return [Object, Enumerator] # returns the last value of block when block given, Enumerator when not def each_itemref if block_given? itemrefs.each {|itemref| yield itemref} else enum_for :each_itemref end end # @return [Enumerator] Enumerator which yeilds {Manifest::Item} # referred by each of {#itemrefs} def items itemrefs.collector {|itemref| itemref.item} end class Itemref attr_accessor :spine, :idref, :linear, :id, :properties alias linear? linear # @return [Package::Manifest::Item] item referred by this object def item @item ||= @spine.package.manifest[idref] end def ==(other) [:spine, :idref, :linear, :id].all? {|meth| self.__send__(meth) == other.__send__(meth) } and (other.properties - properties).empty? end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
epub-parser-0.1.3 | lib/epub/publication/package/spine.rb |
epub-parser-0.1.2 | lib/epub/publication/package/spine.rb |
epub-parser-0.1.1 | lib/epub/publication/package/spine.rb |