class EPUB::Metadata

Constants

DC_ELEMS

Attributes

children[R]

Used for CFI

metas[RW]
package[RW]
unique_identifier[RW]

Private Class Methods

new() click to toggle source
# File lib/epub/metadata.rb, line 19
def initialize
  (DC_ELEMS + [:metas, :links]).each do |elem|
    __send__ "#{elem}=", []
  end
  @children = []
end

Private Instance Methods

cover_image() click to toggle source

Cover image used in EPUB 2 @return [EPUB::Publication::Package::Manifest::Item]

# File lib/epub/metadata.rb, line 70
def cover_image
  cover_image_meta = metas.find {|meta| meta.name == "cover"}
  return unless cover_image_meta
  package.manifest[cover_image_meta.meta_content]
end
date() click to toggle source
# File lib/epub/metadata.rb, line 53
def date
  dates.first
end
description() click to toggle source
# File lib/epub/metadata.rb, line 49
def description
  descriptions.join(' ')
end
language() click to toggle source
# File lib/epub/metadata.rb, line 57
def language
  languages.first
end
modified() click to toggle source
# File lib/epub/metadata.rb, line 61
def modified
  metas.find {|meta|
    meta.property == 'dcterms:modified' &&
      meta.refiners.empty?
  }
end
package_identifier()
Alias for: release_identifier
primary_metas() click to toggle source
# File lib/epub/metadata.rb, line 83
def primary_metas
  metas.select {|meta| meta.primary_expression?}
end
release_identifier() click to toggle source
# File lib/epub/metadata.rb, line 26
def release_identifier
  "#{unique_identifier}@#{modified}"
end
Also aliased as: package_identifier
subtitle() click to toggle source
# File lib/epub/metadata.rb, line 45
def subtitle
  titles.select {|title| title.title_type.to_s == 'subtitle'}.sort.join(' ')
end
title() click to toggle source
# File lib/epub/metadata.rb, line 31
def title
  return extended_title unless extended_title.empty?
  compositted = titles.select {|title| title.display_seq}.sort.join("\n")
  return compositted unless compositted.empty?
  return main_title unless main_title.empty?
  titles.sort.join("\n")
end
to_h() click to toggle source
# File lib/epub/metadata.rb, line 76
def to_h
  DC_ELEMS.inject({}) do |hsh, elem|
    hsh[elem] = __send__(elem)
    hsh
  end
end