class PdfPageCount::PdfPageCounter
Public Class Methods
new()
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 7 def initialize @total_pages = 0 end
Public Instance Methods
add_pdf_file(file) { |file, pages| ... }
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 33 def add_pdf_file(file) @process_pool.process do pages = PdfUtil.count_pages(file) @total_pages += pages @callback_pool.process do yield file, pages end end end
add_pdf_path(path, recursive: false) { |file, pages| ... }
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 24 def add_pdf_path(path, recursive: false) files = FileUtil.find_pdf_files(path, recursive: recursive) files.each do |file| self.add_pdf_file(file) do |file, pages| yield file, pages end end end
add_pdf_paths(paths, recursive: false) { |file, pages| ... }
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 16 def add_pdf_paths(paths, recursive: false) paths.each do |path| self.add_pdf_path(path, recursive: recursive) do |file, pages| yield file, pages end end end
finish_counting()
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 43 def finish_counting @process_pool.shutdown @callback_pool.shutdown end
start_counting(threads: 10)
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 11 def start_counting(threads: 10) @process_pool = Thread.pool(threads) @callback_pool = Thread.pool(1) end
total_pages()
click to toggle source
# File lib/pdf-page-count/pdf_page_counter.rb, line 48 def total_pages @total_pages end