module Mongoid::Extensions::Object
Public Instance Methods
Evolve a plain object into an object id.
@example Evolve the object.
object.__evolve_object_id__
@return [ Object ] self.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 14 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.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 27 def __find_args__ self end
Mongoize a plain object into a time.
@note 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.
@example Mongoize the object.
object.__mongoize_time__
@return [ Object ] self.
@since 3.0.0 @deprecated
# File lib/mongoid/extensions/object.rb, line 45 def __mongoize_time__ 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 =.
@since 3.1.0
# File lib/mongoid/extensions/object.rb, line 57 def __setter__ "#{self}=" end
Get the value of the object as a mongo friendy sort value.
@example Get the object as sort criteria.
object.__sortable__
@return [ Object ] self.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 69 def __sortable__ self end
Conversion of an object to an $inc-able value.
@example Convert the object.
1.__to_inc__
@return [ Object ] The object.
@since 3.0.3
# File lib/mongoid/extensions/object.rb, line 81 def __to_inc__ self end
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.
@return [ false ] Always false.
@since 3.1.0 @deprecated
# File lib/mongoid/extensions/object.rb, line 97 def blank_criteria? false 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 [ Array ] args The arguments.
@return [ Object, nil ] The result of the method call or nil if the
method does not exist.
@since 2.0.0.rc.1
# File lib/mongoid/extensions/object.rb, line 113 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.
@since 2.0.0.rc.1
# File lib/mongoid/extensions/object.rb, line 127 def ivar(name) var_name = "@_#{name}" if instance_variable_defined?(var_name) return instance_variable_get(var_name) else false end end
Is the object multi args.
@example Is the object multi args?
object.multi_arged?
@return [ false ] false.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 157 def multi_arged? false end
Is the object a number?
@example Is the object a number?.
object.numeric?
@return [ false ] Always false.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 169 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.
@since 2.1.0
# File lib/mongoid/extensions/object.rb, line 183 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.
@since 3.0.0
# File lib/mongoid/extensions/object.rb, line 200 def resizable? false end
Get the substitutable version of an object.
@example Get the substitutable.
object.substitutable
@return [ Object ] self.
@since 2.0.0
# File lib/mongoid/extensions/object.rb, line 212 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 [ Array ] 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.
@since 2.2.1
# File lib/mongoid/extensions/object.rb, line 228 def you_must(name, *args) frozen? ? nil : do_or_do_not(name, *args) end