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