Module: Mongoid::Criteria::Queryable::Extensions::Object
- Defined in:
- lib/mongoid/criteria/queryable/extensions/object.rb
Overview
This module contains additional object behaviour.
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.
20 21 22 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 20 def __add__(object) (object == self) ? self : [ self, object ].flatten.uniq end |
#__add_from_array__(array) ⇒ Array
Merge this object into the provided array.
34 35 36 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 34 def __add_from_array__(array) array.concat(Array(self)).uniq end |
#__array__ ⇒ Array
Get the object as an array.
127 128 129 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 127 def __array__ [ self ] end |
#__deep_copy__ ⇒ Object
Deep copy the object. This is for API compatibility, but needs to be overridden.
117 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 117 def __deep_copy__; self; end |
#__expand_complex__ ⇒ Object
Get the object as expanded.
139 140 141 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 139 def self end |
#__intersect__(object) ⇒ Array
Combine the two objects using the intersect strategy.
48 49 50 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 48 def __intersect__(object) object.__intersect_from_object__(self) end |
#__intersect_from_array__(array) ⇒ Array
Merge this object into the provided array.
62 63 64 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 62 def __intersect_from_array__(array) array & Array(self) end |
#__intersect_from_object__(object) ⇒ Array
Merge this object into the provided array.
76 77 78 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 76 def __intersect_from_object__(object) Array(object) & Array(self) end |
#__union__(object) ⇒ Array
Combine the two objects using the union strategy.
90 91 92 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 90 def __union__(object) object.__union_from_object__(self) end |
#__union_from_object__(object) ⇒ Array
Merge this object into the provided array.
104 105 106 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 104 def __union_from_object__(object) (Array(object) + Array(self)).uniq end |
#regexp? ⇒ false
Is the object a regex.
151 152 153 |
# File 'lib/mongoid/criteria/queryable/extensions/object.rb', line 151 def regexp? false end |