Module: ActiveCollection::Includes

Defined in:
lib/active_collection/includes.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object



4
5
6
7
8
9
# File 'lib/active_collection/includes.rb', line 4

def self.included(mod)
  mod.extend ClassMethods
  mod.class_eval do
    find_scope :include_options
  end
end

Instance Method Details

#include(*new_includes) ⇒ Object



69
70
71
# File 'lib/active_collection/includes.rb', line 69

def include(*new_includes)
  unloading_dup { |ac| ac.include! *new_includes }
end

#include!(*new_includes) ⇒ Object



73
74
75
76
# File 'lib/active_collection/includes.rb', line 73

def include!(*new_includes)
  raise_if_loaded
  @includes = self.class.merge_includes(includes, new_includes)
end

#include_optionsObject



78
79
80
81
# File 'lib/active_collection/includes.rb', line 78

def include_options
  incs = self.class.merge_includes(self.class.default_includes, includes)
  { :include => incs } unless incs.blank?
end

#includesObject



65
66
67
# File 'lib/active_collection/includes.rb', line 65

def includes
  @includes ||= []
end