Module: Mongoid::Extensions::Object
- Defined in:
- lib/mongoid/extensions/object.rb
Overview
Adds type-casting behavior to Object class.
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#__evolve_object_id__ ⇒ Object
(also: #__mongoize_object_id__)
Evolve a plain object into an object id.
- #__find_args__ ⇒ Object deprecated Deprecated.
- #__setter__ ⇒ String deprecated Deprecated.
- #__sortable__ ⇒ Object deprecated Deprecated.
- #__to_inc__ ⇒ Object deprecated Deprecated.
- #do_or_do_not(name, *args) ⇒ Object | nil deprecated Deprecated.
-
#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 deprecated Deprecated.
-
#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 deprecated Deprecated.
Class Method Details
.included(base) ⇒ Object
8 9 10 |
# File 'lib/mongoid/extensions/object.rb', line 8 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#__evolve_object_id__ ⇒ Object Also known as: __mongoize_object_id__
Evolve a plain object into an object id.
18 19 20 |
# File 'lib/mongoid/extensions/object.rb', line 18 def __evolve_object_id__ self end |
#__find_args__ ⇒ Object
Convert the object to args for a find query.
30 31 32 |
# File 'lib/mongoid/extensions/object.rb', line 30 def __find_args__ self end |
#__setter__ ⇒ String
Try to form a setter from this object.
42 43 44 |
# File 'lib/mongoid/extensions/object.rb', line 42 def __setter__ "#{self}=" end |
#__sortable__ ⇒ Object
Get the value of the object as a mongo friendly sort value.
54 55 56 |
# File 'lib/mongoid/extensions/object.rb', line 54 def __sortable__ self end |
#__to_inc__ ⇒ Object
Conversion of an object to an $inc-able value.
66 67 68 |
# File 'lib/mongoid/extensions/object.rb', line 66 def __to_inc__ self end |
#do_or_do_not(name, *args) ⇒ Object | nil
Do or do not, there is no try. – Yoda.
83 84 85 |
# File 'lib/mongoid/extensions/object.rb', line 83 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.
96 97 98 99 100 101 102 103 |
# File 'lib/mongoid/extensions/object.rb', line 96 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.
112 113 114 |
# File 'lib/mongoid/extensions/object.rb', line 112 def mongoize self end |
#multi_arged? ⇒ false
Is the object multi args.
123 124 125 |
# File 'lib/mongoid/extensions/object.rb', line 123 def multi_arged? false end |
#numeric? ⇒ false
Is the object a number?
134 135 136 |
# File 'lib/mongoid/extensions/object.rb', line 134 def numeric? false end |
#remove_ivar(name) ⇒ true | false
Remove the instance variable for the provided name.
146 147 148 149 150 151 152 |
# File 'lib/mongoid/extensions/object.rb', line 146 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.
161 162 163 |
# File 'lib/mongoid/extensions/object.rb', line 161 def resizable? false end |
#substitutable ⇒ Object
Get the substitutable version of an object.
171 172 173 |
# File 'lib/mongoid/extensions/object.rb', line 171 def substitutable self end |
#you_must(name, *args) ⇒ Object | nil
You must unlearn what you have learned. – Yoda
186 187 188 |
# File 'lib/mongoid/extensions/object.rb', line 186 def you_must(name, *args) frozen? ? nil : do_or_do_not(name, *args) end |