class Bookbinder::Preprocessing::Preprocessor

Attributes

processes[R]

Public Class Methods

new(*processes) click to toggle source
# File lib/bookbinder/preprocessing/preprocessor.rb, line 9
def initialize(*processes)
  @processes = processes
end

Public Instance Methods

preprocess(sections, *args) click to toggle source
# File lib/bookbinder/preprocessing/preprocessor.rb, line 13
def preprocess(sections, *args)
  sections.group_by { |section|
    processes.detect(Proc.new { NullProcess.new }) { |process| process.applicable_to?(section) }
  }.each do |process, grouped_sections|
    process.preprocess(grouped_sections, *args)
  end
end