class Mongoid::Includes::Inclusions
Public: Collection of relations that need to be eager loaded.
Public Class Methods
new(object = [])
click to toggle source
Internal: By default, it wraps an empty set.
Calls superclass method
# File lib/mongoid/includes/inclusions.rb, line 10 def initialize(object = []) super Set.new(object) end
Public Instance Methods
+(inclusions)
click to toggle source
Public: Returns the sum of the inclusions without any duplicates.
# File lib/mongoid/includes/inclusions.rb, line 36 def +(inclusions) Inclusions.new(union(inclusions)) end
add(metadata)
click to toggle source
Override: Avoid replacing existing inclusions.
Calls superclass method
# File lib/mongoid/includes/inclusions.rb, line 15 def add(metadata) include?(metadata) ? metadata : super end
push(metadata, options = {})
click to toggle source
Public: Adds a new relation as an inclusion.
Returns the added inclusion.
# File lib/mongoid/includes/inclusions.rb, line 22 def push(metadata, options = {}) metadata = Inclusion.new(metadata, options) unless metadata.is_a?(Inclusion) # Ensure that an inclusion with a specified modifier replaces a # previously specified one. delete(metadata) if metadata.modifier # Internally it's a set so it won't add it twice. add(metadata) metadata end
uniq()
click to toggle source
Public: Returns a new Inclusions
without any duplicates.
# File lib/mongoid/includes/inclusions.rb, line 41 def uniq dup end