module Mongoid::Extensions::Object
Adds type-casting behavior to Object
class.
Public Class Methods
# File lib/mongoid/extensions/object.rb, line 8 def self.included(base) base.extend(ClassMethods) end
Public Instance Methods
Evolve a plain object into an object id.
@example Evolve the object.
object.__evolve_object_id__
@return [ Object
] self.
# File lib/mongoid/extensions/object.rb, line 18 def __evolve_object_id__ self end
Convert the object to args for a find query.
@example Convert the object to args.
object.__find_args__
@return [ Object
] self. @deprecated
# File lib/mongoid/extensions/object.rb, line 30 def __find_args__ self end
Try to form a setter from this object.
@example Try to form a setter.
object.__setter__
@return [ String
] The object as a string plus =. @deprecated
# File lib/mongoid/extensions/object.rb, line 42 def __setter__ "#{self}=" end
Get the value of the object as a mongo friendly sort value.
@example Get the object as sort criteria.
object.__sortable__
@return [ Object
] self. @deprecated
# File lib/mongoid/extensions/object.rb, line 54 def __sortable__ self end
Conversion of an object to an $inc-able value.
@example Convert the object.
1.__to_inc__
@return [ Object
] The object. @deprecated
# File lib/mongoid/extensions/object.rb, line 66 def __to_inc__ self end
Do or do not, there is no try. – Yoda.
@example Do or do not.
object.do_or_do_not(:use, "The Force")
@param [ String
| Symbol
] name The method name. @param [ Object
… ] *args The arguments.
@return [ Object
| nil ] The result of the method call or nil if the
method does not exist.
@deprecated
# File lib/mongoid/extensions/object.rb, line 83 def do_or_do_not(name, *args) send(name, *args) if name && respond_to?(name) end
Get the value for an instance variable or false if it doesn’t exist.
@example Get the value for an instance var.
document.ivar("person")
@param [ String
] name The name of the variable.
@return [ Object
| false ] The value or false.
# 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
Turn the object from the ruby type we deal with to a Mongo friendly type.
@example Mongoize the object.
object.mongoize
@return [ Object
] The object.
# File lib/mongoid/extensions/object.rb, line 112 def mongoize self end
Is the object multi args.
@example Is the object multi args?
object.multi_arged?
@return [ false ] false. @deprecated
# File lib/mongoid/extensions/object.rb, line 123 def multi_arged? false end
Is the object a number?
@example Is the object a number?.
object.numeric?
@return [ false ] Always false.
# File lib/mongoid/extensions/object.rb, line 134 def numeric? false end
Remove the instance variable for the provided name.
@example Remove the instance variable
document.remove_ivar("person")
@param [ String
] name The name of the variable.
@return [ true | false ] If the variable was defined.
# 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
Is the object’s size changable? Only returns true for arrays and hashes currently.
@example Is the object resizable?
object.resizable?
@return [ false ] false.
# File lib/mongoid/extensions/object.rb, line 161 def resizable? false end
Get the substitutable version of an object.
@example Get the substitutable.
object.substitutable
@return [ Object
] self.
# File lib/mongoid/extensions/object.rb, line 171 def substitutable self end
You must unlearn what you have learned. – Yoda
@example You must perform this execution.
object.you_must(:use, "The Force")
@param [ String
| Symbol
] name The method name. @param [ Object
… ] *args The arguments.
@return [ Object
| nil ] The result of the method call or nil if the
method does not exist. Nil if the object is frozen.
@deprecated
# File lib/mongoid/extensions/object.rb, line 186 def you_must(name, *args) frozen? ? nil : do_or_do_not(name, *args) end