epub_book 0.1.15 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/epub_book.gemspec +7 -6
- data/lib/epub_book/book.rb +37 -30
- data/lib/epub_book/loggable.rb +68 -0
- data/lib/epub_book/version.rb +1 -1
- data/lib/epub_book.rb +5 -1
- metadata +29 -14
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8a69bb745d60d25bdb4eeb2b6a6dcc2b0d115b4e
         | 
| 4 | 
            +
              data.tar.gz: 86a99f95e8a35e0fa12163c784eb2cfe56aad574
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e1d24a611b214d0f4a37d8f0c67bf0285095a1c8f51f87b6c747b019ae70345eba11189962b1e42300e0570fe96aa22c59fde873a8e10563fa7a23102c422518
         | 
| 7 | 
            +
              data.tar.gz: 6a2f053ca97e68a5db5e83278d171a82bab14e2fb51a2399ae2889c1e45e95ac62f539858a4430640c9c9d04ccbe74fd105b6b559fcdb8efb83b695e37b5937d
         | 
    
        data/epub_book.gemspec
    CHANGED
    
    | @@ -27,15 +27,16 @@ Gem::Specification.new do |spec| | |
| 27 27 | 
             
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         | 
| 28 28 | 
             
              spec.require_paths = ["lib"]
         | 
| 29 29 |  | 
| 30 | 
            -
              spec.add_dependency ' | 
| 31 | 
            -
              spec.add_dependency ' | 
| 32 | 
            -
              spec.add_dependency ' | 
| 33 | 
            -
              spec.add_dependency ' | 
| 30 | 
            +
              spec.add_dependency 'http','~> 0'
         | 
| 31 | 
            +
              spec.add_dependency 'nokogiri','~> 0'
         | 
| 32 | 
            +
              spec.add_dependency 'eeepub','~> 0'
         | 
| 33 | 
            +
              spec.add_dependency 'zip-zip','~> 0'
         | 
| 34 | 
            +
              spec.add_dependency 'mail','~> 0'
         | 
| 34 35 |  | 
| 35 36 |  | 
| 36 37 | 
             
              spec.add_development_dependency "bundler", "~> 1.12"
         | 
| 37 38 | 
             
              spec.add_development_dependency "rake", "~> 10.0"
         | 
| 38 39 | 
             
              spec.add_development_dependency "rspec", "~> 3.0"
         | 
| 39 | 
            -
              spec.add_development_dependency "pry"
         | 
| 40 | 
            -
              spec.add_development_dependency "pry-doc"
         | 
| 40 | 
            +
              spec.add_development_dependency "pry",'~> 0'
         | 
| 41 | 
            +
              spec.add_development_dependency "pry-doc",'~> 0'
         | 
| 41 42 | 
             
            end
         | 
    
        data/lib/epub_book/book.rb
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            require ' | 
| 1 | 
            +
            require 'http'
         | 
| 2 2 | 
             
            require 'nokogiri'
         | 
| 3 3 | 
             
            require 'eeepub'
         | 
| 4 4 | 
             
            require 'base64'
         | 
| @@ -21,8 +21,7 @@ module EpubBook | |
| 21 21 | 
             
              class Book
         | 
| 22 22 | 
             
                UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36"
         | 
| 23 23 | 
             
                Referer = "http://www.baidu.com/"
         | 
| 24 | 
            -
                attr_accessor :title_css, :index_item_css, :body_css, :limit, :item_attr, :page_css, :page_attr,:cover
         | 
| 25 | 
            -
                attr_accessor :cover_css, :description_css,:path,:user_agent,:referer,:creator,:mail_to
         | 
| 24 | 
            +
                attr_accessor :title_css, :index_item_css, :body_css, :limit, :item_attr, :page_css, :page_attr,:cover,:cover_css, :description_css,:path,:user_agent,:referer,:creator,:mail_to, :folder_name,:des_url
         | 
| 26 25 |  | 
| 27 26 |  | 
| 28 27 | 
             
                Reg = /<script.*?>.*?<\/script>/m
         | 
| @@ -40,21 +39,24 @@ module EpubBook | |
| 40 39 | 
             
                  @body_css = '.articlebody'
         | 
| 41 40 | 
             
                  @item_attr = "href"
         | 
| 42 41 | 
             
                  yield self if block_given?
         | 
| 43 | 
            -
                  @book_path = File.join((@path || `pwd`.strip), @folder_name)
         | 
| 44 42 | 
             
                end
         | 
| 45 43 |  | 
| 44 | 
            +
                def book_path
         | 
| 45 | 
            +
                  @book_path ||= File.join((@path || `pwd`.strip), @folder_name)
         | 
| 46 | 
            +
                end
         | 
| 46 47 |  | 
| 47 48 | 
             
                def link_host
         | 
| 48 49 | 
             
                  @link_host ||= @index_url[/\A(http:\/\/.*?)\/\w+/,1]
         | 
| 49 50 | 
             
                end
         | 
| 50 51 |  | 
| 51 52 | 
             
                def book
         | 
| 52 | 
            -
                   | 
| 53 | 
            -
                   | 
| 53 | 
            +
                  return @book if @book
         | 
| 54 | 
            +
                  Dir.mkdir(book_path) unless test(?d,book_path)
         | 
| 55 | 
            +
                  @book = test(?s,File.join(book_path,'index.yml')) ? YAML.load(File.open(File.join(book_path,'index.yml'))) : {files: []}
         | 
| 54 56 | 
             
                end
         | 
| 55 57 |  | 
| 56 58 | 
             
                def save_book
         | 
| 57 | 
            -
                  File.open(File.join( | 
| 59 | 
            +
                  File.open(File.join(book_path,'index.yml' ),'w') do |f|
         | 
| 58 60 | 
             
                    f.write(@book.to_yaml)
         | 
| 59 61 | 
             
                  end
         | 
| 60 62 | 
             
                end
         | 
| @@ -66,7 +68,7 @@ module EpubBook | |
| 66 68 | 
             
                  fetch_book
         | 
| 67 69 | 
             
                  if  !@cover_css && @cover
         | 
| 68 70 | 
             
                    generate_cover = <<-eof
         | 
| 69 | 
            -
                    convert #{File.expand_path("../../../#{@cover}",__FILE__)} -font tsxc.ttf -gravity center -fill red -pointsize 16 -draw "text 0,0 '#{book[:title]}'"  #{File.join( | 
| 71 | 
            +
                    convert #{File.expand_path("../../../#{@cover}",__FILE__)} -font tsxc.ttf -gravity center -fill red -pointsize 16 -draw "text 0,0 '#{book[:title]}'"  #{File.join(book_path,@cover)}
         | 
| 70 72 | 
             
                    eof
         | 
| 71 73 | 
             
                    system(generate_cover)
         | 
| 72 74 | 
             
                  end
         | 
| @@ -84,47 +86,53 @@ module EpubBook | |
| 84 86 | 
             
                  epub.description book[:description] if book[:description]
         | 
| 85 87 |  | 
| 86 88 | 
             
                  book[:files] = book[:files][0...limit] if limit
         | 
| 89 | 
            +
                  _files = []
         | 
| 90 | 
            +
                  book[:files].collect! do |item|
         | 
| 91 | 
            +
                    _file = File.join(book_path,item[:content])
         | 
| 92 | 
            +
                    if test(?f, _file)
         | 
| 93 | 
            +
                      _files.push(_file)
         | 
| 94 | 
            +
                      item
         | 
| 95 | 
            +
                    end
         | 
| 96 | 
            +
                  end
         | 
| 97 | 
            +
                  book[:files].compact!
         | 
| 87 98 |  | 
| 88 | 
            -
                  epub.files  | 
| 99 | 
            +
                  epub.files _files.push(File.join(book_path,@cover))
         | 
| 89 100 | 
             
                  epub.nav book[:files]
         | 
| 90 101 |  | 
| 102 | 
            +
                  book[:epub_file] = File.join(book_path,"#{book_name || @folder_name}.epub")
         | 
| 91 103 |  | 
| 92 | 
            -
                   | 
| 104 | 
            +
                  yield self if block_given?
         | 
| 93 105 |  | 
| 94 | 
            -
                  epub.save(epub_file)
         | 
| 106 | 
            +
                  epub.save(book[:epub_file])
         | 
| 95 107 |  | 
| 96 108 | 
             
                  #send mail
         | 
| 97 | 
            -
             | 
| 109 | 
            +
             | 
| 98 110 | 
             
                  if mail_to
         | 
| 99 111 | 
             
                    mailer = Mailer.new
         | 
| 100 112 | 
             
                    mailer.to = mail_to
         | 
| 101 | 
            -
                    mailer.add_file epub_file
         | 
| 113 | 
            +
                    mailer.add_file book[:epub_file]
         | 
| 102 114 | 
             
                    mailer.body = "您创建的电子书[#{book[:title]}]见附件\n"
         | 
| 103 | 
            -
             | 
| 104 115 | 
             
                    mailer.send_mail
         | 
| 105 116 | 
             
                  end
         | 
| 106 117 |  | 
| 107 118 | 
             
                end
         | 
| 108 119 |  | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 120 | 
             
                #得到书目索引
         | 
| 113 121 | 
             
                def fetch_index(url=nil)
         | 
| 122 | 
            +
                  book[:files] = []
         | 
| 114 123 | 
             
                  url ||= @index_url
         | 
| 115 | 
            -
                  doc = Nokogiri::HTML(judge_encoding( | 
| 124 | 
            +
                  doc = Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent ,'Referer'=> @referer).get(URI.encode(url)).to_s))
         | 
| 116 125 | 
             
                  #generate index.yml
         | 
| 117 126 |  | 
| 118 127 | 
             
                  if !book[:title]
         | 
| 119 128 | 
             
                    doc1 = if @des_url.nil?
         | 
| 120 129 | 
             
                             doc
         | 
| 121 130 | 
             
                           else
         | 
| 122 | 
            -
                             Nokogiri::HTML(judge_encoding( | 
| 131 | 
            +
                             Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent ,'Referer'=> @referer).get(URI.encode(generate_abs_url(doc.css(@des_url).attr("href").to_s))).to_s))
         | 
| 123 132 | 
             
                           end
         | 
| 124 133 | 
             
                    get_des(doc1)
         | 
| 125 134 | 
             
                  end
         | 
| 126 135 |  | 
| 127 | 
            -
             | 
| 128 136 | 
             
                  doc.css(@index_item_css).each do |item|
         | 
| 129 137 | 
             
                    _href = URI.encode(item.attr(@item_attr).to_s)
         | 
| 130 138 | 
             
                    next if _href.start_with?('javascript') || _href.start_with?('#')
         | 
| @@ -151,28 +159,26 @@ module EpubBook | |
| 151 159 |  | 
| 152 160 | 
             
                def fetch_book
         | 
| 153 161 | 
             
                  #重新得到书目,如果不存在或重新索引的话
         | 
| 154 | 
            -
                  fetch_index  if !test(?s,File.join( | 
| 162 | 
            +
                  fetch_index  if !test(?s,File.join(book_path,'index.yml'))
         | 
| 163 | 
            +
                  EpubBook.logger.info "------Fetch book----------"
         | 
| 155 164 | 
             
                  book[:files].each_with_index do |item,index|
         | 
| 156 165 | 
             
                    break if limit && index >= limit
         | 
| 157 166 |  | 
| 158 | 
            -
                    content_path = File.join( | 
| 167 | 
            +
                    content_path = File.join(book_path,item[:content])
         | 
| 159 168 |  | 
| 160 169 | 
             
                    #如果文件存在且长度不为0则获取下一个
         | 
| 161 170 | 
             
                    next if test(?s,content_path)
         | 
| 162 171 |  | 
| 163 172 | 
             
                    begin
         | 
| 164 | 
            -
                      doc_file = Nokogiri::HTML(judge_encoding( | 
| 173 | 
            +
                      doc_file = Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent,'Referer'=> @referer).get(item[:url]).to_s))
         | 
| 165 174 |  | 
| 166 175 | 
             
                      File.open(content_path,'w') do |f|
         | 
| 167 176 | 
             
                        f.write("<h3>#{item[:label]}</h3>")
         | 
| 168 177 | 
             
                        f.write(doc_file.css(@body_css).to_s.gsub(Reg,''))
         | 
| 169 178 | 
             
                      end
         | 
| 170 | 
            -
             | 
| 171 | 
            -
                      puts item[:label]
         | 
| 172 | 
            -
             | 
| 173 179 | 
             
                    rescue  Exception => e
         | 
| 174 | 
            -
                       | 
| 175 | 
            -
                       | 
| 180 | 
            +
                      EpubBook.logger.info "Error:#{e.message},#{item.inspect}"
         | 
| 181 | 
            +
                      #EpubBook.logger.info e.backtrace
         | 
| 176 182 | 
             
                      next
         | 
| 177 183 | 
             
                    end
         | 
| 178 184 | 
             
                  end
         | 
| @@ -183,8 +189,9 @@ module EpubBook | |
| 183 189 | 
             
                private
         | 
| 184 190 | 
             
                #is valid encoding
         | 
| 185 191 | 
             
                def judge_encoding(str)
         | 
| 192 | 
            +
                  /<meta.*?charset\s*=[\s\"\']?utf-8/i =~ str ? str : str.force_encoding('gbk').encode('utf-8',invalid: :replace, undef: :replace)
         | 
| 186 193 | 
             
                  str.scrub! unless str.valid_encoding?
         | 
| 187 | 
            -
                   | 
| 194 | 
            +
                  str
         | 
| 188 195 | 
             
                end
         | 
| 189 196 |  | 
| 190 197 | 
             
                #得到书名,介绍,及封面
         | 
| @@ -193,7 +200,7 @@ module EpubBook | |
| 193 200 | 
             
                  if @cover_css && !book[:cover]
         | 
| 194 201 | 
             
                    cover_url = doc.css(@cover_css).attr("src").to_s
         | 
| 195 202 | 
             
                    cover_url = generate_abs_url(cover_url) #link_host + cover_url unless cover_url.start_with?("http")
         | 
| 196 | 
            -
                    cover_path = File.join( | 
| 203 | 
            +
                    cover_path = File.join(book_path,@cover)
         | 
| 197 204 | 
             
                    system("curl #{cover_url} -o #{cover_path} ")
         | 
| 198 205 | 
             
                    book[:cover] = cover_path
         | 
| 199 206 | 
             
                  end
         | 
| @@ -0,0 +1,68 @@ | |
| 1 | 
            +
            module EpubBook
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # Contains logging behaviour.
         | 
| 4 | 
            +
              module Loggable
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                # Get the logger.
         | 
| 7 | 
            +
                #
         | 
| 8 | 
            +
                # @note Will try to grab Rails' logger first before creating a new logger
         | 
| 9 | 
            +
                #   with stdout.
         | 
| 10 | 
            +
                #
         | 
| 11 | 
            +
                # @example Get the logger.
         | 
| 12 | 
            +
                #   Loggable.logger
         | 
| 13 | 
            +
                #
         | 
| 14 | 
            +
                # @return [ Logger ] The logger.
         | 
| 15 | 
            +
                #
         | 
| 16 | 
            +
                # @since 3.0.0
         | 
| 17 | 
            +
                def logger
         | 
| 18 | 
            +
                  return @logger if defined?(@logger)
         | 
| 19 | 
            +
                  @logger = rails_logger || default_logger
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                # Set the logger.
         | 
| 23 | 
            +
                #
         | 
| 24 | 
            +
                # @example Set the logger.
         | 
| 25 | 
            +
                #   Loggable.logger = Logger.new($stdout)
         | 
| 26 | 
            +
                #
         | 
| 27 | 
            +
                # @param [ Logger ] The logger to set.
         | 
| 28 | 
            +
                #
         | 
| 29 | 
            +
                # @return [ Logger ] The new logger.
         | 
| 30 | 
            +
                #
         | 
| 31 | 
            +
                # @since 3.0.0
         | 
| 32 | 
            +
                def logger=(logger)
         | 
| 33 | 
            +
                  @logger = logger
         | 
| 34 | 
            +
                end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                private
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                # Gets the default EpubBook logger - stdout.
         | 
| 39 | 
            +
                #
         | 
| 40 | 
            +
                # @api private
         | 
| 41 | 
            +
                #
         | 
| 42 | 
            +
                # @example Get the default logger.
         | 
| 43 | 
            +
                #   Loggable.default_logger
         | 
| 44 | 
            +
                #
         | 
| 45 | 
            +
                # @return [ Logger ] The default logger.
         | 
| 46 | 
            +
                #
         | 
| 47 | 
            +
                # @since 3.0.0
         | 
| 48 | 
            +
                def default_logger
         | 
| 49 | 
            +
                  logger = Logger.new($stdout)
         | 
| 50 | 
            +
                  logger.level = EpubBook.config.log_level
         | 
| 51 | 
            +
                  logger
         | 
| 52 | 
            +
                end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                # Get the Rails logger if it's defined.
         | 
| 55 | 
            +
                #
         | 
| 56 | 
            +
                # @api private
         | 
| 57 | 
            +
                #
         | 
| 58 | 
            +
                # @example Get Rails' logger.
         | 
| 59 | 
            +
                #   Loggable.rails_logger
         | 
| 60 | 
            +
                #
         | 
| 61 | 
            +
                # @return [ Logger ] The Rails logger.
         | 
| 62 | 
            +
                #
         | 
| 63 | 
            +
                # @since 3.0.0
         | 
| 64 | 
            +
                def rails_logger
         | 
| 65 | 
            +
                  defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger
         | 
| 66 | 
            +
                end
         | 
| 67 | 
            +
              end
         | 
| 68 | 
            +
            end
         | 
    
        data/lib/epub_book/version.rb
    CHANGED
    
    
    
        data/lib/epub_book.rb
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            require "epub_book/version"
         | 
| 2 2 | 
             
            require 'epub_book/book'
         | 
| 3 | 
            +
            require 'epub_book/loggable'
         | 
| 3 4 | 
             
            require 'mail'
         | 
| 4 5 |  | 
| 5 6 | 
             
            module EpubBook
         | 
| @@ -7,15 +8,18 @@ module EpubBook | |
| 7 8 | 
             
              autoload :Book, "epub_book/book"
         | 
| 8 9 | 
             
              autoload :Mailer, "epub_book/mailer"
         | 
| 9 10 |  | 
| 10 | 
            -
              Config = Struct.new(:setting_file,:mail_from,:mail_subject,:mail_body,:mail_address,:mail_port,:mail_user_name,:mail_password) do
         | 
| 11 | 
            +
              Config = Struct.new(:setting_file,:mail_from,:mail_subject,:mail_body,:mail_address,:mail_port,:mail_user_name,:mail_password,:log_level) do
         | 
| 11 12 | 
             
                include Singleton
         | 
| 12 13 | 
             
                def initialize
         | 
| 13 14 | 
             
                  self.mail_subject =  'epub 电子书'
         | 
| 14 15 | 
             
                  #self.mail_body =  "您创建的电子书见附件\n"
         | 
| 15 16 | 
             
                  self.mail_port = 25
         | 
| 17 | 
            +
                  self.log_level = "info"
         | 
| 16 18 | 
             
                end
         | 
| 17 19 | 
             
              end
         | 
| 18 20 |  | 
| 21 | 
            +
              extend Loggable
         | 
| 22 | 
            +
             | 
| 19 23 | 
             
              #book initialize, and the block will prior the yml setting
         | 
| 20 24 | 
             
              def self.create_book(url,bookname=nil,des_url=nil)
         | 
| 21 25 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,69 +1,83 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: epub_book
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.16
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - qmliu
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-12-27 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: http
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '0'
         | 
| 20 | 
            +
              type: :runtime
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: '0'
         | 
| 13 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 28 | 
             
              name: nokogiri
         | 
| 15 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 30 | 
             
                requirements:
         | 
| 17 31 | 
             
                - - "~>"
         | 
| 18 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 33 | 
            +
                    version: '0'
         | 
| 20 34 | 
             
              type: :runtime
         | 
| 21 35 | 
             
              prerelease: false
         | 
| 22 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 37 | 
             
                requirements:
         | 
| 24 38 | 
             
                - - "~>"
         | 
| 25 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version:  | 
| 40 | 
            +
                    version: '0'
         | 
| 27 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 42 | 
             
              name: eeepub
         | 
| 29 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 44 | 
             
                requirements:
         | 
| 31 | 
            -
                - - " | 
| 45 | 
            +
                - - "~>"
         | 
| 32 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 47 | 
             
                    version: '0'
         | 
| 34 48 | 
             
              type: :runtime
         | 
| 35 49 | 
             
              prerelease: false
         | 
| 36 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 51 | 
             
                requirements:
         | 
| 38 | 
            -
                - - " | 
| 52 | 
            +
                - - "~>"
         | 
| 39 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 54 | 
             
                    version: '0'
         | 
| 41 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 56 | 
             
              name: zip-zip
         | 
| 43 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 58 | 
             
                requirements:
         | 
| 45 | 
            -
                - - " | 
| 59 | 
            +
                - - "~>"
         | 
| 46 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 61 | 
             
                    version: '0'
         | 
| 48 62 | 
             
              type: :runtime
         | 
| 49 63 | 
             
              prerelease: false
         | 
| 50 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 65 | 
             
                requirements:
         | 
| 52 | 
            -
                - - " | 
| 66 | 
            +
                - - "~>"
         | 
| 53 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 68 | 
             
                    version: '0'
         | 
| 55 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 70 | 
             
              name: mail
         | 
| 57 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 72 | 
             
                requirements:
         | 
| 59 | 
            -
                - - " | 
| 73 | 
            +
                - - "~>"
         | 
| 60 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 75 | 
             
                    version: '0'
         | 
| 62 76 | 
             
              type: :runtime
         | 
| 63 77 | 
             
              prerelease: false
         | 
| 64 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 79 | 
             
                requirements:
         | 
| 66 | 
            -
                - - " | 
| 80 | 
            +
                - - "~>"
         | 
| 67 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 82 | 
             
                    version: '0'
         | 
| 69 83 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -112,28 +126,28 @@ dependencies: | |
| 112 126 | 
             
              name: pry
         | 
| 113 127 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 128 | 
             
                requirements:
         | 
| 115 | 
            -
                - - " | 
| 129 | 
            +
                - - "~>"
         | 
| 116 130 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 131 | 
             
                    version: '0'
         | 
| 118 132 | 
             
              type: :development
         | 
| 119 133 | 
             
              prerelease: false
         | 
| 120 134 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 135 | 
             
                requirements:
         | 
| 122 | 
            -
                - - " | 
| 136 | 
            +
                - - "~>"
         | 
| 123 137 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 138 | 
             
                    version: '0'
         | 
| 125 139 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 126 140 | 
             
              name: pry-doc
         | 
| 127 141 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 142 | 
             
                requirements:
         | 
| 129 | 
            -
                - - " | 
| 143 | 
            +
                - - "~>"
         | 
| 130 144 | 
             
                  - !ruby/object:Gem::Version
         | 
| 131 145 | 
             
                    version: '0'
         | 
| 132 146 | 
             
              type: :development
         | 
| 133 147 | 
             
              prerelease: false
         | 
| 134 148 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 149 | 
             
                requirements:
         | 
| 136 | 
            -
                - - " | 
| 150 | 
            +
                - - "~>"
         | 
| 137 151 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 152 | 
             
                    version: '0'
         | 
| 139 153 | 
             
            description: 'create epub from a book index url and mail to you. by setting a default_setting.yml
         | 
| @@ -160,6 +174,7 @@ files: | |
| 160 174 | 
             
            - exe/create_book
         | 
| 161 175 | 
             
            - lib/epub_book.rb
         | 
| 162 176 | 
             
            - lib/epub_book/book.rb
         | 
| 177 | 
            +
            - lib/epub_book/loggable.rb
         | 
| 163 178 | 
             
            - lib/epub_book/mailer.rb
         | 
| 164 179 | 
             
            - lib/epub_book/version.rb
         | 
| 165 180 | 
             
            - tsxc.ttf
         |