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_includesObject



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