Module: BazaModels::Model::Delegation::ClassMethods

Defined in:
lib/baza_models/model/delegation.rb

Instance Method Summary collapse

Instance Method Details

#delegate(*methods, args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/baza_models/model/delegation.rb', line 7

def delegate(*methods, args)
  methods.each do |method|
    if args[:prefix]
      method_name = "#{args.fetch(:to)}_#{method}"
    else
      method_name = method
    end

    define_method(method_name) do |*method_args, &method_blk|
      __send__(args[:to]).__send__(method, *method_args, &method_blk)
    end
  end
end