Module: Mongoid::Extensions::Object
- Defined in:
- lib/mongoid/extensions/object.rb
Overview
Adds type-casting behavior to Object class.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#__evolve_object_id__ ⇒ Object
(also: #__mongoize_object_id__)
Evolve a plain object into an object id.
-
#__find_args__ ⇒ Object
Convert the object to args for a find query.
- #__mongoize_time__ ⇒ Object deprecated Deprecated.
-
#__setter__ ⇒ String
Try to form a setter from this object.
-
#__sortable__ ⇒ Object
Get the value of the object as a mongo friendly sort value.
-
#__to_inc__ ⇒ Object
Conversion of an object to an $inc-able value.
- #blank_criteria? ⇒ false deprecated Deprecated.
-
#do_or_do_not(name, *args) ⇒ Object | nil
Do or do not, there is no try.
-
#ivar(name) ⇒ Object | false
Get the value for an instance variable or false if it doesn’t exist.
-
#mongoize ⇒ Object
Turn the object from the ruby type we deal with to a Mongo friendly type.
-
#multi_arged? ⇒ false
Is the object multi args.
-
#numeric? ⇒ false
Is the object a number?.
-
#remove_ivar(name) ⇒ true | false
Remove the instance variable for the provided name.
-
#resizable? ⇒ false
Is the object’s size changable? Only returns true for arrays and hashes currently.
-
#substitutable ⇒ Object
Get the substitutable version of an object.
-
#you_must(name, *args) ⇒ Object | nil
You must unlearn what you have learned.
Instance Method Details
#__evolve_object_id__ ⇒ Object Also known as: __mongoize_object_id__
Evolve a plain object into an object id.
16 17 18 |
# File 'lib/mongoid/extensions/object.rb', line 16 def __evolve_object_id__ self end |
#__find_args__ ⇒ Object
Convert the object to args for a find query.
27 28 29 |
# File 'lib/mongoid/extensions/object.rb', line 27 def __find_args__ self end |
#__mongoize_time__ ⇒ Object
This method should not be used, because it does not return correct results for non-Time objects. Override mongoize_time in classes that are time-like to return an instance of Time or ActiveSupport::TimeWithZone.
Mongoize a plain object into a time.
43 44 45 |
# File 'lib/mongoid/extensions/object.rb', line 43 def __mongoize_time__ self end |
#__setter__ ⇒ String
Try to form a setter from this object.
53 54 55 |
# File 'lib/mongoid/extensions/object.rb', line 53 def __setter__ "#{self}=" end |
#__sortable__ ⇒ Object
Get the value of the object as a mongo friendly sort value.
63 64 65 |
# File 'lib/mongoid/extensions/object.rb', line 63 def __sortable__ self end |
#__to_inc__ ⇒ Object
Conversion of an object to an $inc-able value.
73 74 75 |
# File 'lib/mongoid/extensions/object.rb', line 73 def __to_inc__ self end |
#blank_criteria? ⇒ false
Checks whether conditions given in this object are known to be unsatisfiable, i.e., querying with this object will always return no documents.
This method is deprecated. Mongoid now uses _mongoid_unsatisfiable_criteria?
internally; this method is retained for backwards compatibility only. It always returns false.
87 88 89 |
# File 'lib/mongoid/extensions/object.rb', line 87 def blank_criteria? false end |
#do_or_do_not(name, *args) ⇒ Object | nil
Do or do not, there is no try. – Yoda.
101 102 103 |
# File 'lib/mongoid/extensions/object.rb', line 101 def do_or_do_not(name, *args) send(name, *args) if name && respond_to?(name) end |
#ivar(name) ⇒ Object | false
Get the value for an instance variable or false if it doesn’t exist.
113 114 115 116 117 118 119 120 |
# File 'lib/mongoid/extensions/object.rb', line 113 def ivar(name) var_name = "@_#{name}" if instance_variable_defined?(var_name) return instance_variable_get(var_name) else false end end |
#mongoize ⇒ Object
Turn the object from the ruby type we deal with to a Mongo friendly type.
129 130 131 |
# File 'lib/mongoid/extensions/object.rb', line 129 def mongoize self end |
#multi_arged? ⇒ false
Is the object multi args.
139 140 141 |
# File 'lib/mongoid/extensions/object.rb', line 139 def multi_arged? false end |
#numeric? ⇒ false
Is the object a number?
149 150 151 |
# File 'lib/mongoid/extensions/object.rb', line 149 def numeric? false end |
#remove_ivar(name) ⇒ true | false
Remove the instance variable for the provided name.
161 162 163 164 165 166 167 |
# File 'lib/mongoid/extensions/object.rb', line 161 def remove_ivar(name) if instance_variable_defined?("@_#{name}") return remove_instance_variable("@_#{name}") else false end end |
#resizable? ⇒ false
Is the object’s size changable? Only returns true for arrays and hashes currently.
176 177 178 |
# File 'lib/mongoid/extensions/object.rb', line 176 def resizable? false end |
#substitutable ⇒ Object
Get the substitutable version of an object.
186 187 188 |
# File 'lib/mongoid/extensions/object.rb', line 186 def substitutable self end |
#you_must(name, *args) ⇒ Object | nil
You must unlearn what you have learned. – Yoda
200 201 202 |
# File 'lib/mongoid/extensions/object.rb', line 200 def you_must(name, *args) frozen? ? nil : do_or_do_not(name, *args) end |