class KindleCG::Ebook::Ebook
Public Class Methods
new(file)
click to toggle source
# File lib/KindleCG/ebook/ebook.rb, line 17 def initialize(file) @file = file @metadata = initialize_metadata(file) end
Public Instance Methods
hash()
click to toggle source
# File lib/KindleCG/ebook/ebook.rb, line 22 def hash if @metadata.type && @metadata.asin "#%s^%s" % [@metadata.asin, @metadata.type] else folder = File.dirname(@file) filename = File.basename(@file) "*" + Digest::SHA1.hexdigest([KindleCG.device_mountpoint.to_path, folder.match(/(documents).*/)[0], filename].join("/")) end end
Private Instance Methods
get_extension(file)
click to toggle source
# File lib/KindleCG/ebook/ebook.rb, line 45 def get_extension(file) @_extension ||= File.basename(file).downcase.split('.')[-1] end
initialize_metadata(file)
click to toggle source
# File lib/KindleCG/ebook/ebook.rb, line 34 def initialize_metadata(file) case get_extension(file) when /(mobi|azw)/ Mobi.new(file) when /(pdf)/ Pdf.new(file) else raise EbookError, "Can't handle this book type" end end