Sha256: c7a257cf57369d133845b198d630fecacc3e642834b0ade93b2e5a5e4bf96fd7

Contents?: true

Size: 1.64 KB

Versions: 16

Compression:

Stored size: 1.64 KB

Contents

#
# Copyright (c) 2014 Minero Aoki, Kenshi Muto, Masayoshi Takahashi
#
# 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 LGPL, see the file "COPYING".
#

require 'review/extentions'
require 'review/exception'

module ReVIEW
  module Book
    class ImageFinder
      def initialize(basedir, chapid, builder, exts)
        @basedir = basedir
        @chapid = chapid
        @builder = builder
        @exts = exts
        @entries = get_entries()
      end

      def get_entries
        Dir.glob(File.join(@basedir, "**/*.*"))
      end

      def add_entry(path)
        unless @entries.include?(path)
          @entries << path
        end
        @entries
      end

      def find_path(id)
        targets = target_list(id)
        targets.each do |target|
          @exts.each do |ext|
            if @entries.include?("#{target}#{ext}")
              return "#{target}#{ext}"
            end
          end
        end
        nil
      end

      def target_list(id)
        [
         # 1. <basedir>/<builder>/<chapid>/<id>.<ext>
         "#{@basedir}/#{@builder}/#{@chapid}/#{id}",

         # 2. <basedir>/<builder>/<chapid>-<id>.<ext>
         "#{@basedir}/#{@builder}/#{@chapid}-#{id}",

         # 3. <basedir>/<builder>/<id>.<ext>
         "#{@basedir}/#{@builder}/#{id}",

         # 4. <basedir>/<chapid>/<id>.<ext>
         "#{@basedir}/#{@chapid}/#{id}",

         # 5. <basedir>/<chapid>-<id>.<ext>
         "#{@basedir}/#{@chapid}-#{id}",

         # 6. <basedir>/<id>.<ext>
         "#{@basedir}/#{id}"
        ]
      end

    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
review-2.1.0 lib/review/book/image_finder.rb
review-2.0.0 lib/review/book/image_finder.rb
review-1.7.2 lib/review/book/image_finder.rb
review-1.7.1 lib/review/book/image_finder.rb
review-peg-0.2.2 lib/review/book/image_finder.rb
review-peg-0.2.1 lib/review/book/image_finder.rb
review-peg-0.2.0 lib/review/book/image_finder.rb
review-peg-0.1.3 lib/review/book/image_finder.rb
review-peg-0.1.2 lib/review/book/image_finder.rb
review-peg-0.1.1 lib/review/book/image_finder.rb
review-peg-0.1.0 lib/review/book/image_finder.rb
review-1.7.0 lib/review/book/image_finder.rb
review-1.6.0 lib/review/book/image_finder.rb
review-2.0.0.beta1 lib/review/book/image_finder.rb
review-1.5.0 lib/review/book/image_finder.rb
review-1.4.0 lib/review/book/image_finder.rb