module Mingo::Many

Public Instance Methods

many(property, *args, &block) click to toggle source
# 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