Module: Rsodx::Delegate

Included in:
Service
Defined in:
lib/rsodx/delegate.rb

Instance Method Summary collapse

Instance Method Details

#delegate(*methods, to:) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
14
# File 'lib/rsodx/delegate.rb', line 5

def delegate(*methods, to:)
  raise ArgumentError, "Missing target for delegation (to:)" unless to

  mod = Module.new do
    extend Forwardable
    def_delegators to, *methods
  end

  include mod
end