Class: BbEPUB::Transform::Description
- Inherits:
-
Bookbinder::Transform
- Object
- Bookbinder::Transform
- BbEPUB::Transform::Description
- Defined in:
- lib/bb-epub/transform/description.rb
Instance Method Summary collapse
Instance Method Details
#dependencies ⇒ Object
3 4 5 |
# File 'lib/bb-epub/transform/description.rb', line 3 def dependencies [BbEPUB::Transform::Metadata] end |
#from_map(package) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/bb-epub/transform/description.rb', line 25 def from_map(package) if desc = package.map['description'] opf_doc = package.file(:opf).document opf_doc.new_node('dc:description', :append => 'opf|metadata') { |desc_tag| desc_tag.content = desc['full'] } end end |
#to_map(package) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/bb-epub/transform/description.rb', line 8 def to_map(package) desc_hashes = package.map['metadata'].delete('description') descs = [] if desc_hashes && desc_hashes.any? descs = desc_hashes.collect { |dh| dh['@'] } descs.sort! { |a, b| a.length <=> b.length } full = descs.shift if full && !full.empty? short = descs.shift || first_sentence(full) desc = { 'full' => full } desc['short'] = short if short package.map['description'] = desc end end end |