Class: Mongoid::Includes::Inclusions
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Mongoid::Includes::Inclusions
- Defined in:
- lib/mongoid/includes/inclusions.rb
Overview
Public: Collection of relations that need to be eager loaded.
Instance Method Summary collapse
-
#+(inclusions) ⇒ Object
Public: Returns the sum of the inclusions without any duplicates.
-
#initialize(object = []) ⇒ Inclusions
constructor
Internal: By default, it wraps an empty set.
-
#push(metadata, options = {}) ⇒ Object
Public: Adds a new relation as an inclusion.
-
#uniq ⇒ Object
Public: Returns a new Inclusions without any duplicates.
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.
31 32 33 |
# File 'lib/mongoid/includes/inclusions.rb', line 31 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 22 23 24 25 26 27 28 |
# File 'lib/mongoid/includes/inclusions.rb', line 17 def push(, = {}) = Inclusion.new(, ) unless .is_a?(Inclusion) # Ensure that an inclusion with a specified loader or modifier replaces # a previously specified loader. delete() if .loader || .modifier # Internally it's a set so it won't add it twice. add() end |
#uniq ⇒ Object
Public: Returns a new Inclusions without any duplicates.
36 37 38 |
# File 'lib/mongoid/includes/inclusions.rb', line 36 def uniq dup end |