class PBatcher::Generator

Attributes

iterator[R]
logger[R]
namer[R]
processor[R]
validator[R]

Public Class Methods

build(&block) click to toggle source
# File lib/pbatcher/generator.rb, line 5
def self.build(&block)
  obj = new
  obj.instance_eval(&block) if block_given?
  obj.run
  obj
end
new() click to toggle source
# File lib/pbatcher/generator.rb, line 12
def initialize

end

Public Instance Methods

iteration(data) click to toggle source
# File lib/pbatcher/generator.rb, line 30
def iteration(data)
  @iterator = Iterator.new self, data
end
logging(logger) click to toggle source
# File lib/pbatcher/generator.rb, line 38
def logging(logger)
  @logger = logger
end
naming(l = nil, &block) click to toggle source
# File lib/pbatcher/generator.rb, line 22
def naming(l = nil, &block)
  @namer = Namer.new self, l || block
end
processing(l = nil, &block) click to toggle source
# File lib/pbatcher/generator.rb, line 34
def processing(l = nil, &block)
  @processor = Processor.new self, l || block
end
run() click to toggle source
# File lib/pbatcher/generator.rb, line 16
def run
  setup_default_handlers
  logger.info '------------------------------------'
  iterator.iterate { |item| processor.process item }
end
validation(l = nil, &block) click to toggle source
# File lib/pbatcher/generator.rb, line 26
def validation(l = nil, &block)
  @validator = Validator.new self, l || block
end

Private Instance Methods

setup_default_handlers() click to toggle source
# File lib/pbatcher/generator.rb, line 44
def setup_default_handlers
  @iterator ||= Iterator.new self, []
  @validator ||= Validator.new self, ->(item) { true }
  @namer ||= Namer.new self, ->(item) { item.to_s }
  @processor ||= Processor.new self, ->(item) { item }
  @logger ||= ::Logger.new('pbatcher.log')
end