we can define callbacks without a builder instance

This commit is contained in:
Aaron Patterson 2013-10-02 15:27:18 -07:00
parent 73ee85f39d
commit b86a4965b8
4 changed files with 9 additions and 9 deletions

View File

@ -32,7 +32,7 @@ module ActiveRecord::Associations::Builder
builder = new(name, scope, options, &block)
reflection = builder.build(model)
builder.define_accessors model, reflection
builder.define_callbacks model, reflection
define_callbacks model, reflection
builder.define_extensions model
reflection
end
@ -68,8 +68,8 @@ module ActiveRecord::Associations::Builder
def define_extensions(model)
end
def define_callbacks(model, reflection)
self.class.add_before_destroy_callbacks(model, reflection) if reflection.options[:dependent]
def self.define_callbacks(model, reflection)
add_before_destroy_callbacks(model, reflection) if reflection.options[:dependent]
Association.extensions.each do |extension|
extension.build model, reflection
end

View File

@ -12,10 +12,10 @@ module ActiveRecord::Associations::Builder
[:destroy, :delete]
end
def define_callbacks(model, reflection)
def self.define_callbacks(model, reflection)
super
self.class.add_counter_cache_callbacks(model, reflection) if reflection.options[:counter_cache]
self.class.add_touch_callbacks(model, reflection) if reflection.options[:touch]
add_counter_cache_callbacks(model, reflection) if reflection.options[:counter_cache]
add_touch_callbacks(model, reflection) if reflection.options[:touch]
end
def define_accessors(mixin, reflection)

View File

@ -23,12 +23,12 @@ module ActiveRecord::Associations::Builder
end
end
def define_callbacks(model, reflection)
def self.define_callbacks(model, reflection)
super
name = reflection.name
options = reflection.options
CALLBACKS.each { |callback_name|
self.class.define_callback(model, callback_name, name, options)
define_callback(model, callback_name, name, options)
}
end

View File

@ -8,7 +8,7 @@ module ActiveRecord::Associations::Builder
super + [:join_table, :association_foreign_key]
end
def define_callbacks(model, reflection)
def self.define_callbacks(model, reflection)
super
name = reflection.name
model.send(:include, Module.new {