class Karafka::Helpers::MultiDelegator

Multidelegator is used to delegate calls to multiple targets
@note Taken from stackoverflow.com/questions/6407141

def delegate(*methods)

Other tags:
    Example: Delegate write and close to STDOUT and file -

Parameters:
  • methods () -- names that should be delegated to
def delegate(*methods)
  methods.each do |m|
    define_method(m) do |*args|
      @targets.map { |t| t.send(m, *args) }
    end
  end
  self
end

def initialize(*targets)

Parameters:
  • targets () -- to which we want to delegate methods
def initialize(*targets)
  @targets = targets
end