Slide 4
Slide 4 text
Application
Programming
Interface
Claudio Baccigalupo
claudiob.github.io
3/10
ers
class Artist < ActiveRecord::Base
require 'active_record/associations'
module ActiveRecord::Associations::Builder
class CollectionAssociation < Association #:nodoc:
CALLBACKS = [:before_add, :after_add, :before_remove, :after_remove]
def valid_options
super + [:table_name, :before_add,
:after_add, :before_remove, :after_remove, :extend]
end
attr_reader :block_extension
def initialize(model, name, scope, options)
super
@mod = nil
if block_given?
@mod = Module.new(&Proc.new)
@scope = wrap_scope @scope, @mod
end
end
def self.define_callbacks(model, reflection)
super
name = reflection.name
options = reflection.options
CALLBACKS.each { |callback_name|
define_callback(model, callback_name, name, options)
}
end […]
end