Class: Bookbinder::Transform::Organizer
- Inherits:
-
Bookbinder::Transform
- Object
- Bookbinder::Transform
- Bookbinder::Transform::Organizer
- Defined in:
- lib/bookbinder/transform/organizer.rb
Constant Summary collapse
- PREFERRED_ORDER =
%w( title creator contributor language cover description unique-identifier modified version eisbn pisbn publisher subject rendition-* audio-* spine nav resources )
Instance Method Summary collapse
Methods inherited from Bookbinder::Transform
Instance Method Details
#to_map(package) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/bookbinder/transform/organizer.rb', line 24 def to_map(package) new_map = {} PREFERRED_ORDER.each { |prop| if prop.match(/\*$/) prefix = prop.chop package.map.delete_if { |key, val| new_map[key] = val if key.match(/^#{prefix}/) } else new_map[prop] = package.map.delete(prop) if package.map[prop] end } if package.map['metadata'] && package.map['metadata'].empty? package.map.delete('metadata') end package.map.each_pair { |key, val| new_map[key] = val if val } package.map = new_map end |