1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

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

View file

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

View file

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

View file

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