Module: ActiveCollection::Includes::ClassMethods
- Defined in:
- lib/active_collection/includes.rb
Overview
def self.before_save(*methods, &block)
callbacks = CallbackChain.build(:before_save, *methods, &block)
@before_save_callbacks ||= CallbackChain.new
@before_save_callbacks.concat callbacks
end
def self.before_save_callback_chain
@before_save_callbacks ||= CallbackChain.new
if superclass.respond_to?(:before_save_callback_chain)
CallbackChain.new(
superclass.before_save_callback_chain +
@before_save_callbacks
)
else
@before_save_callbacks
end
end
Instance Method Summary collapse
Instance Method Details
#default_includes ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/active_collection/includes.rb', line 35 def default_includes @default_includes ||= [] if superclass != ActiveCollection::Base merge_includes(superclass.default_includes, @default_includes) else @default_includes end end |
#includes(*new_includes) ⇒ Object
31 32 33 |
# File 'lib/active_collection/includes.rb', line 31 def includes(*new_includes) @default_includes = merge_includes(@default_includes || [], new_includes) end |
#merge_includes(a, b) ⇒ Object
44 45 46 |
# File 'lib/active_collection/includes.rb', line 44 def merge_includes(a, b) (safe_to_array(a) + safe_to_array(b)).flatten.uniq end |