Module: Mongoid::Extensions::Object

Defined in:
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:

Since:

  • 3.0.0



14
15
16
# File 'lib/mongoid/extensions/object.rb', line 14

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:

Since:

  • 3.0.0



27
28
29
# File 'lib/mongoid/extensions/object.rb', line 27

def __find_args__
  self
end

#__mongoize_time__Object

Mongoize a plain object into a time.

Examples:

Mongoize the object.

object.__mongoize_time__

Returns:

Since:

  • 3.0.0



39
40
41
# File 'lib/mongoid/extensions/object.rb', line 39

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

Since:

  • 3.1.0



51
52
53
# File 'lib/mongoid/extensions/object.rb', line 51

def __setter__
  "#{self}="
end

#__sortable__Object

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

Examples:

Get the object as sort criteria.

object.__sortable__

Returns:

Since:

  • 3.0.0



63
64
65
# File 'lib/mongoid/extensions/object.rb', line 63

def __sortable__
  self
end

#__to_inc__Object

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

Examples:

Convert the object.

1.__to_inc__

Returns:

Since:

  • 3.0.3



75
76
77
# File 'lib/mongoid/extensions/object.rb', line 75

def __to_inc__
  self
end

#blank_criteria?true, false

Check if the object is part of a blank relation criteria.

Examples:

Is the object blank criteria?

"".blank_criteria?

Returns:

  • (true, false)

    If the object is blank criteria.

Since:

  • 3.1.0



87
88
89
# File 'lib/mongoid/extensions/object.rb', line 87

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.

Since:

  • 2.0.0.rc.1



103
104
105
# File 'lib/mongoid/extensions/object.rb', line 103

def do_or_do_not(name, *args)
  send(name, *args) if name && respond_to?(name)
end

#ivar(name) ⇒ Object?

Get the value for an instance variable or nil 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, nil)

    The value or nil.

Since:

  • 2.0.0.rc.1



117
118
119
120
121
122
123
# File 'lib/mongoid/extensions/object.rb', line 117

def ivar(name)
  if instance_variable_defined?("@_#{name}")
    return instance_variable_get("@_#{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:

Since:

  • 3.0.0



134
135
136
# File 'lib/mongoid/extensions/object.rb', line 134

def mongoize
  self
end

#multi_arged?false

Is the object multi args.

Examples:

Is the object multi args?

object.multi_arged?

Returns:

  • (false)

    false.

Since:

  • 3.0.0



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

def multi_arged?
  false
end

#numeric?false

Is the object a number?

Examples:

Is the object a number?.

object.numeric?

Returns:

  • (false)

    Always false.

Since:

  • 3.0.0



158
159
160
# File 'lib/mongoid/extensions/object.rb', line 158

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.

Since:

  • 2.1.0



172
173
174
175
176
177
178
# File 'lib/mongoid/extensions/object.rb', line 172

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.

Since:

  • 3.0.0



189
190
191
# File 'lib/mongoid/extensions/object.rb', line 189

def resizable?
  false
end

#substitutableObject

Get the substitutable version of an object.

Examples:

Get the substitutable.

object.substitutable

Returns:

Since:

  • 2.0.0



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

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.

Since:

  • 2.2.1



217
218
219
# File 'lib/mongoid/extensions/object.rb', line 217

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