Class: Mongoid::Includes::Inclusions

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/mongoid/includes/inclusions.rb

Overview

Public: Collection of relations that need to be eager loaded.

Instance Method Summary collapse

Constructor Details

#initialize(object = []) ⇒ Inclusions

Internal: By default, it wraps an empty set.



10
11
12
# File 'lib/mongoid/includes/inclusions.rb', line 10

def initialize(object = [])
  super Set.new(object)
end

Instance Method Details

#+(inclusions) ⇒ Object

Public: Returns the sum of the inclusions without any duplicates.



24
25
26
# File 'lib/mongoid/includes/inclusions.rb', line 24

def +(inclusions)
  Inclusions.new(union(inclusions))
end

#push(metadata, options = {}) ⇒ Object

Public: Adds a new relation as an inclusion.

Returns the added inclusion.



17
18
19
20
21
# File 'lib/mongoid/includes/inclusions.rb', line 17

def push(, options = {})
   = Inclusion.new(, options) unless .is_a?(Inclusion)
  add()
  
end

#uniqObject

Public: Returns a new Inclusions without any duplicates.



29
30
31
# File 'lib/mongoid/includes/inclusions.rb', line 29

def uniq
  dup
end