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(*includes) ⇒ Object



25
26
27
28
29
# File 'lib/active_collection/includes.rb', line 25

def include(*includes)
  ac = dup
  ac.include! *includes
  ac
end

#include!(*includes) ⇒ Object



31
32
33
34
# File 'lib/active_collection/includes.rb', line 31

def include!(*includes)
  raise_if_loaded
  @includes = (safe_to_array(includes) + safe_to_array(includes)).uniq
end

#include_optionsObject



36
37
38
# File 'lib/active_collection/includes.rb', line 36

def include_options
  { :include => @includes } unless @includes.blank?
end

#includesObject



21
22
23
# File 'lib/active_collection/includes.rb', line 21

def includes
  @includes = self.class.default_includes
end