Module: Mongoid::Criteria::Queryable::Extensions::Object
- Defined in:
- lib/mongoid/criteria/queryable/extensions/object.rb
Overview
This module contains additional object behavior.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#__add__(object) ⇒ Object
Combine the two objects using the add strategy.
-
#__add_from_array__(array) ⇒ Array
Merge this object into the provided array.
-
#__array__ ⇒ Array
Get the object as an array.
-
#__deep_copy__ ⇒ Object
Deep copy the object.
-
#__expand_complex__ ⇒ Object
Get the object as expanded.
-
#__intersect__(object) ⇒ Array
Combine the two objects using the intersect strategy.
-
#__intersect_from_array__(array) ⇒ Array
Merge this object into the provided array.
-
#__intersect_from_object__(object) ⇒ Array
Merge this object into the provided array.
-
#__union__(object) ⇒ Array
Combine the two objects using the union strategy.
-
#__union_from_object__(object) ⇒ Array
Merge this object into the provided array.
-
#regexp? ⇒ false
Is the object a regex.
Instance Method Details
#__add__(object) ⇒ Object
Combine the two objects using the add strategy.
19 20 21 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 19 def __add__(object) (object == self) ? self : [ self, object ].flatten.uniq end |
#__add_from_array__(array) ⇒ Array
Merge this object into the provided array.
31 32 33 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 31 def __add_from_array__(array) array.concat(Array(self)).uniq end |
#__array__ ⇒ Array
Get the object as an array.
110 111 112 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 110 def __array__ [ self ] end |
#__deep_copy__ ⇒ Object
Deep copy the object. This is for API compatibility, but needs to be overridden.
102 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 102 def __deep_copy__; self; end |
#__expand_complex__ ⇒ Object
Get the object as expanded.
120 121 122 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 120 def self end |
#__intersect__(object) ⇒ Array
Combine the two objects using the intersect strategy.
43 44 45 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 43 def __intersect__(object) object.__intersect_from_object__(self) end |
#__intersect_from_array__(array) ⇒ Array
Merge this object into the provided array.
55 56 57 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 55 def __intersect_from_array__(array) array & Array(self) end |
#__intersect_from_object__(object) ⇒ Array
Merge this object into the provided array.
67 68 69 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 67 def __intersect_from_object__(object) Array(object) & Array(self) end |
#__union__(object) ⇒ Array
Combine the two objects using the union strategy.
79 80 81 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 79 def __union__(object) object.__union_from_object__(self) end |
#__union_from_object__(object) ⇒ Array
Merge this object into the provided array.
91 92 93 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 91 def __union_from_object__(object) (Array(object) + Array(self)).uniq end |
#regexp? ⇒ false
Is the object a regex.
130 131 132 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 130 def regexp? false end |