Module: Origin::Extensions::Object
- Defined in:
- lib/origin/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.
18 19 20 |
# File 'lib/origin/extensions/object.rb', line 18 def __add__(object) (object == self) ? self : [ self, object ].flatten.uniq end |
#__add_from_array__(array) ⇒ Array
Merge this object into the provided array.
32 33 34 |
# File 'lib/origin/extensions/object.rb', line 32 def __add_from_array__(array) array.concat(Array(self)).uniq end |
#__array__ ⇒ Array
Get the object as an array.
125 126 127 |
# File 'lib/origin/extensions/object.rb', line 125 def __array__ [ self ] end |
#__deep_copy__ ⇒ Object
Deep copy the object. This is for API compatibility, but needs to be overridden.
115 |
# File 'lib/origin/extensions/object.rb', line 115 def __deep_copy__; self; end |
#__expand_complex__ ⇒ Object
Get the object as expanded.
137 138 139 |
# File 'lib/origin/extensions/object.rb', line 137 def self end |
#__intersect__(object) ⇒ Array
Combine the two objects using the intersect strategy.
46 47 48 |
# File 'lib/origin/extensions/object.rb', line 46 def __intersect__(object) object.__intersect_from_object__(self) end |
#__intersect_from_array__(array) ⇒ Array
Merge this object into the provided array.
60 61 62 |
# File 'lib/origin/extensions/object.rb', line 60 def __intersect_from_array__(array) array & Array(self) end |
#__intersect_from_object__(object) ⇒ Array
Merge this object into the provided array.
74 75 76 |
# File 'lib/origin/extensions/object.rb', line 74 def __intersect_from_object__(object) Array(object) & Array(self) end |
#__union__(object) ⇒ Array
Combine the two objects using the union strategy.
88 89 90 |
# File 'lib/origin/extensions/object.rb', line 88 def __union__(object) object.__union_from_object__(self) end |
#__union_from_object__(object) ⇒ Array
Merge this object into the provided array.
102 103 104 |
# File 'lib/origin/extensions/object.rb', line 102 def __union_from_object__(object) (Array(object) + Array(self)).uniq end |
#regexp? ⇒ false
Is the object a regex.
149 150 151 |
# File 'lib/origin/extensions/object.rb', line 149 def regexp? false end |