Module: BraintreeRails::CollectionAssociation::ClassMethods

Defined in:
lib/braintree_rails/collection_association.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(receiver) ⇒ Object



4
5
6
7
8
9
# File 'lib/braintree_rails/collection_association.rb', line 4

def self.extended(receiver)
  receiver.class_eval do
    attr_accessor :collection, :loaded
    lazy_load(Array.public_instance_methods - Object.public_instance_methods)
  end
end

Instance Method Details

#lazy_load(methods) ⇒ Object



11
12
13
14
15
# File 'lib/braintree_rails/collection_association.rb', line 11

def lazy_load(methods)
  methods.each do |method|
    define_method(method) { |*args, &block| load!; super(*args, &block) }
  end
end