class Botz::Looper

looper

Public Class Methods

new(resource, binder, loop_block) click to toggle source
# File lib/botz/looper.rb, line 7
def initialize(resource, binder, loop_block)
  @resource = resource
  @binder = binder
  @loop_block = loop_block
end

Public Instance Methods

call() { |result| ... } click to toggle source
# File lib/botz/looper.rb, line 13
def call
  yielder = lambda do |element|
    result = @binder.new(element).result
    fail "#{element}\n\n#{result.errors.full_messages}" if result.invalid?

    yield result
  end
  @loop_block.call(@resource, yielder)
end