Method: Karafka::Helpers::MultiDelegator.delegate

Defined in:
lib/karafka/helpers/multi_delegator.rb

.delegate(*methods) ⇒ Object

Examples:

Delegate write and close to STDOUT and file

Logger.new MultiDelegator.delegate(:write, :close).to(STDOUT, log_file)

Parameters:

  • methods

    names that should be delegated to



18
19
20
21
22
23
24
25
26
# File 'lib/karafka/helpers/multi_delegator.rb', line 18

def delegate(*methods)
  methods.each do |m|
    define_method(m) do |*args|
      @targets.map { |t| t.send(m, *args) }
    end
  end

  self
end