Module: Mongoid::Criteria::Queryable::Extensions::Object

Defined in:
build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb

Overview

This module contains additional object behavior.

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#__add__(object) ⇒ Object

Combine the two objects using the add strategy.

Examples:

Add the object to the array.

[ 1, 2, 3 ].__add__(4)

Parameters:

  • object (Object)

    The object to add.

Returns:

  • (Object)

    The result of the add.

Since:

  • 1.0.0



22
23
24
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 22

def __add__(object)
  (object == self) ? self : [ self, object ].flatten.uniq
end

#__add_from_array__(array) ⇒ Array

Merge this object into the provided array.

Examples:

Merge the object into the array.

4.__add_from_array__([ 1, 2 ])

Parameters:

  • array (Array)

    The array to add to.

Returns:

  • (Array)

    The merged object.

Since:

  • 1.0.0



36
37
38
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 36

def __add_from_array__(array)
  array.concat(Array(self)).uniq
end

#__array__Array

Get the object as an array.

Examples:

Get the object as an array.

4.__array__

Returns:

  • (Array)

    The wrapped object.

Since:

  • 1.0.0



129
130
131
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 129

def __array__
  [ self ]
end

#__deep_copy__Object

Deep copy the object. This is for API compatibility, but needs to be overridden.

Examples:

Deep copy the object.

1.__deep_copy__

Returns:

Since:

  • 1.0.0



119
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 119

def __deep_copy__; self; end

#__expand_complex__Object

Get the object as expanded.

Examples:

Get the object expanded.

obj.__expand_complex__

Returns:

Since:

  • 1.0.5



141
142
143
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 141

def __expand_complex__
  self
end

#__intersect__(object) ⇒ Array

Combine the two objects using the intersect strategy.

Examples:

Add the object to the array.

[ 1, 2, 3 ].__intersect__(4)

Parameters:

  • object (Object)

    The object to intersect.

Returns:

  • (Array)

    The result of the intersect.

Since:

  • 1.0.0



50
51
52
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 50

def __intersect__(object)
  object.__intersect_from_object__(self)
end

#__intersect_from_array__(array) ⇒ Array

Merge this object into the provided array.

Examples:

Merge the object into the array.

4.__intersect_from_array__([ 1, 2 ])

Parameters:

  • array (Array)

    The array to intersect to.

Returns:

  • (Array)

    The merged object.

Since:

  • 1.0.0



64
65
66
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 64

def __intersect_from_array__(array)
  array & Array(self)
end

#__intersect_from_object__(object) ⇒ Array

Merge this object into the provided array.

Examples:

Merge the object into the array.

4.__intersect_from_object__([ 1, 2 ])

Parameters:

  • object (Object)

    The value to intersect to.

Returns:

  • (Array)

    The merged object.

Since:

  • 1.0.0



78
79
80
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 78

def __intersect_from_object__(object)
  Array(object) & Array(self)
end

#__union__(object) ⇒ Array

Combine the two objects using the union strategy.

Examples:

Add the object to the array.

[ 1, 2, 3 ].__union__(4)

Parameters:

  • object (Object)

    The object to union.

Returns:

  • (Array)

    The result of the union.

Since:

  • 1.0.0



92
93
94
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 92

def __union__(object)
  object.__union_from_object__(self)
end

#__union_from_object__(object) ⇒ Array

Merge this object into the provided array.

Examples:

Merge the object into the array.

4.__union_from_object__([ 1, 2 ])

Parameters:

  • object (Object)

    The value to union to.

Returns:

  • (Array)

    The merged object.

Since:

  • 1.0.0



106
107
108
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 106

def __union_from_object__(object)
  (Array(object) + Array(self)).uniq
end

#regexp?false

Is the object a regex.

Examples:

Is the object a regex?

obj.regexp?

Returns:

  • (false)

    Always false.

Since:

  • 1.0.4



153
154
155
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/object.rb', line 153

def regexp?
  false
end