module Dsl::Delegates

Public Class Methods

delegate(*params) click to toggle source
# File lib/dsl/delegates.rb, line 9
def self.delegate(*params)
  delegator = params.last[:to]
  params.pop

  if delegator.is_a?(Hash)
    delegator[:attributes] = params
    @@delegators[name] = (@@delegators[name] || []) << delegator
  else
    send(:attributes, *params)
    define_method("#{delegator}_params") do
      attrs_only(params)
    end
  end
end