Class: BbEPUB::Transform::OCF

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

Constant Summary collapse

OCF_PATH =
'META-INF/container.xml'

Instance Method Summary collapse

Instance Method Details

#from_map(package) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/bb-epub/transform/ocf.rb', line 16

def from_map(package)
  package.file_aliases[:ocf] = OCF_PATH
  package.file_aliases[:opf] = 'book.opf'
  opf_file = package.file(:opf)
  package.file(:ocf, false).new_xml_document { |doc, x|
    x.container('version' => '1.0') {
      doc.add_node_namespace(x.parent, 'ocf', true)
      x.rootfiles {
        x.rootfile(
          'full-path' => opf_file.path,
          'media-type' => opf_file.media_type
        )
      }
    }
  }
end

#to_map(package) ⇒ Object

No dependencies! Something has to have no dependencies, after all.



7
8
9
10
11
12
13
# File 'lib/bb-epub/transform/ocf.rb', line 7

def to_map(package)
  package.file_aliases[:ocf] = OCF_PATH
  ocf = package.file(:ocf, false)
  opf_path = ocf.document('r').find('ocf|rootfile')['full-path']
  package.file_aliases[:opf] = File.basename(opf_path)
  package.content_root = File.dirname(opf_path).sub(/^\./, '')
end