Module: Mingo::Many

Included in:
Mingo
Defined in:
lib/mingo/many_proxy.rb

Instance Method Summary collapse

Instance Method Details

#many(property, *args, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/mingo/many_proxy.rb', line 3

def many(property, *args, &block)
  proxy_class = block_given?? Class.new(ManyProxy, &block) : ManyProxy
  ivar = "@#{property}"

  define_method(property) {
    (instance_variable_defined?(ivar) && instance_variable_get(ivar)) ||
    instance_variable_set(ivar, proxy_class.new(self, property, *args))
  }
end