Module: Mongoid::Extensions::Object

Defined in:
build/mongoid-7.4/lib/mongoid/extensions/object.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

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:



13
14
15
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 13

def __evolve_object_id__
  self
end

#__find_args__Object

Convert the object to args for a find query.

Examples:

Convert the object to args.

object.__find_args__

Returns:



24
25
26
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 24

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:



40
41
42
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 40

def __mongoize_time__
  self
end

#__setter__String

Try to form a setter from this object.

Examples:

Try to form a setter.

object.__setter__

Returns:

  • (String)

    The object as a string plus =.



50
51
52
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 50

def __setter__
  "#{self}="
end

#__sortable__Object

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

Examples:

Get the object as sort criteria.

object.__sortable__

Returns:



60
61
62
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 60

def __sortable__
  self
end

#__to_inc__Object

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

Examples:

Convert the object.

1.__to_inc__

Returns:



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

def __to_inc__
  self
end

#blank_criteria?false

Deprecated.

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.

Returns:

  • (false)

    Always false.



84
85
86
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 84

def blank_criteria?
  false
end

#do_or_do_not(name, *args) ⇒ Object?

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.



98
99
100
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 98

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.



110
111
112
113
114
115
116
117
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 110

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:



126
127
128
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 126

def mongoize
  self
end

#multi_arged?false

Is the object multi args.

Examples:

Is the object multi args?

object.multi_arged?

Returns:

  • (false)

    false.



136
137
138
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 136

def multi_arged?
  false
end

#numeric?false

Is the object a number?

Examples:

Is the object a number?.

object.numeric?

Returns:

  • (false)

    Always false.



146
147
148
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 146

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.



158
159
160
161
162
163
164
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 158

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.



173
174
175
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 173

def resizable?
  false
end

#substitutableObject

Get the substitutable version of an object.

Examples:

Get the substitutable.

object.substitutable

Returns:



183
184
185
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 183

def substitutable
  self
end

#you_must(name, *args) ⇒ Object?

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.



197
198
199
# File 'build/mongoid-7.4/lib/mongoid/extensions/object.rb', line 197

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