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

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.

Examples:

Evolve the object.

object.__evolve_object_id__

Returns:



18
19
20
# File 'lib/mongoid/extensions/object.rb', line 18

def __evolve_object_id__
  self
end

#__find_args__Object

Deprecated.

Convert the object to args for a find query.

Examples:

Convert the object to args.

object.__find_args__

Returns:



30
31
32
# File 'lib/mongoid/extensions/object.rb', line 30

def __find_args__
  self
end

#__mongoize_time__Object

Deprecated.
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.

Mongoize a plain object into a time.

Examples:

Mongoize the object.

object.__mongoize_time__

Returns:



47
48
49
# File 'lib/mongoid/extensions/object.rb', line 47

def __mongoize_time__
  self
end

#__setter__String

Deprecated.

Try to form a setter from this object.

Examples:

Try to form a setter.

object.__setter__

Returns:

  • (String)

    The object as a string plus =.



58
59
60
# File 'lib/mongoid/extensions/object.rb', line 58

def __setter__
  "#{self}="
end

#__sortable__Object

Deprecated.

Get the value of the object as a mongo friendly sort value.

Examples:

Get the object as sort criteria.

object.__sortable__

Returns:



70
71
72
# File 'lib/mongoid/extensions/object.rb', line 70

def __sortable__
  self
end

#__to_inc__Object

Deprecated.

Conversion of an object to an $inc-able value.

Examples:

Convert the object.

1.__to_inc__

Returns:



82
83
84
# File 'lib/mongoid/extensions/object.rb', line 82

def __to_inc__
  self
end

#do_or_do_not(name, *args) ⇒ Object | nil

Deprecated.

Do or do not, there is no try. – Yoda.

Examples:

Do or do not.

object.do_or_do_not(:use, "The Force")

Parameters:

Returns:

  • (Object | nil)

    The result of the method call or nil if the method does not exist.



99
100
101
# File 'lib/mongoid/extensions/object.rb', line 99

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.

Examples:

Get the value for an instance var.

document.ivar("person")

Parameters:

  • name (String)

    The name of the variable.

Returns:

  • (Object | false)

    The value or false.



112
113
114
115
116
117
118
119
# File 'lib/mongoid/extensions/object.rb', line 112

def ivar(name)
  var_name = "@_#{name}"
  if instance_variable_defined?(var_name)
    return instance_variable_get(var_name)
  else
    false
  end
end

#mongoizeObject

Turn the object from the ruby type we deal with to a Mongo friendly type.

Examples:

Mongoize the object.

object.mongoize

Returns:



128
129
130
# File 'lib/mongoid/extensions/object.rb', line 128

def mongoize
  self
end

#multi_arged?false

Deprecated.

Is the object multi args.

Examples:

Is the object multi args?

object.multi_arged?

Returns:

  • (false)

    false.



139
140
141
# File 'lib/mongoid/extensions/object.rb', line 139

def multi_arged?
  false
end

#numeric?false

Is the object a number?

Examples:

Is the object a number?.

object.numeric?

Returns:

  • (false)

    Always false.



150
151
152
# File 'lib/mongoid/extensions/object.rb', line 150

def numeric?
  false
end

#remove_ivar(name) ⇒ true | false

Remove the instance variable for the provided name.

Examples:

Remove the instance variable

document.remove_ivar("person")

Parameters:

  • name (String)

    The name of the variable.

Returns:

  • (true | false)

    If the variable was defined.



162
163
164
165
166
167
168
# File 'lib/mongoid/extensions/object.rb', line 162

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.

Examples:

Is the object resizable?

object.resizable?

Returns:

  • (false)

    false.



177
178
179
# File 'lib/mongoid/extensions/object.rb', line 177

def resizable?
  false
end

#substitutableObject

Get the substitutable version of an object.

Examples:

Get the substitutable.

object.substitutable

Returns:



187
188
189
# File 'lib/mongoid/extensions/object.rb', line 187

def substitutable
  self
end

#you_must(name, *args) ⇒ Object | nil

Deprecated.

You must unlearn what you have learned. – Yoda

Examples:

You must perform this execution.

object.you_must(:use, "The Force")

Parameters:

Returns:

  • (Object | nil)

    The result of the method call or nil if the method does not exist. Nil if the object is frozen.



202
203
204
# File 'lib/mongoid/extensions/object.rb', line 202

def you_must(name, *args)
  frozen? ? nil : do_or_do_not(name, *args)
end