lib/epubmaker/content.rb in review-1.1.0 vs lib/epubmaker/content.rb in review-1.2.0

- old
+ new

@@ -1,23 +1,24 @@ # encoding: utf-8 # = content.rb -- Content object for EPUBMaker. # -# Copyright (c) 2010 Kenshi Muto +# Copyright (c) 2010-2014 Kenshi Muto # # This program is free software. # You can distribute or modify this program under the terms of # the GNU LGPL, Lesser General Public License version 2.1. # For details of the GNU LGPL, see the file "COPYING". # module EPUBMaker - # EPUBMaker::Content describes a content data for EPUBMaker. EPUBMaker#contents takes an array of Content. + # EPUBMaker::Content represents a content data for EPUBMaker. + # EPUBMaker#contents takes an array of Content. class Content # ID attr_accessor :id - # File path (can accept #<anchor> suffix also) + # File path (will accept #<anchor> suffix also) attr_accessor :file # MIME type attr_accessor :media # Title attr_accessor :title @@ -59,21 +60,23 @@ [obj.id, obj.file, obj.media, obj.title, obj.level, obj.notoc] end private - # Complement other parameters from file parameter. + # Complement other parameters by using file parameter. def complement - @id = @file.gsub(/[\\\/\.]/, '-') if @id.nil? + @id = @file.gsub(/[\\\/\. ]/, '-') if @id.nil? + @id = "rv-#{@id}" if @id =~ /\A[^a-z]/i @media = @file.sub(/.+\./, '').downcase if !@file.nil? && @media.nil? @media = "application/xhtml+xml" if @media == "xhtml" || @media == "xml" || @media == "html" @media = "text/css" if @media == "css" @media = "image/jpeg" if @media == "jpg" || @media == "jpeg" || @media == "image/jpg" @media = "image/png" if @media == "png" @media = "image/gif" if @media == "gif" - @media = "image/svg" if @media == "svg" @media = "image/svg+xml" if @media == "svg" || @media == "image/svg" + @media = "application/vnd.ms-opentype" if @media == "ttf" || @media == "otf" + @media = "application/font-woff" if @media == "woff" if @id.nil? || @file.nil? || @media.nil? raise "Type error: #{id}, #{file}, #{media}, #{title}, #{notoc}" end end