Class: BbEPUB::Transform::Version

Inherits:
Bookbinder::Transform
  • Object
show all
Defined in:
lib/bb-epub/transform/version.rb

Overview

See itunesconnect.apple.com/docs/iBooksAssetGuide5.1Revision2.pdf pages 22 and 23.

“The version of your book is specified within a ‘meta` element in the Package Document. The `meta` element has a property value of `ibooks:version’:

<meta property="ibooks:version">1.1.2</meta>

Instance Method Summary collapse

Instance Method Details

#dependenciesObject



12
13
14
# File 'lib/bb-epub/transform/version.rb', line 12

def dependencies
  [BbEPUB::Transform::Metadata]
end

#from_map(package) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/bb-epub/transform/version.rb', line 25

def from_map(package)
  if package.map['version']
    # Add the ibooks prefix to the package root.
    opf_doc = package.file(:opf).document
    opf_doc.add_prefix('ibooks')

    # Create the meta node and append it to <metadata>
    opf_doc.new_node('meta', :append => 'opf|metadata') { |ver_tag|
      ver_tag['property'] = 'ibooks:version'
      ver_tag.content = package.map['version']
    }
  end
end

#to_map(package) ⇒ Object



17
18
19
20
21
22
# File 'lib/bb-epub/transform/version.rb', line 17

def to_map(package)
  ver_hashes = package.map['metadata'].delete('ibooks:version')
  if ver_hashes && ver_hashes.any?
    package.map['version'] = ver_hashes.first['@']
  end
end