Módulo: Mongoid::Extensions::arreglo

Definido en:
lib/mongoid/extensions/arreglo.rb

Overview

Agrega el comportamiento de conversión de tipos a la clase arreglo.

Definido bajo Namespace

Modules: ClassMethods

Resumen del método de instancia colapsar

Detalles del método de instancia

#__evolve_object_id__arreglo<BSON::ObjectId>

Convierta el arreglo en un arreglo de identificadores de objetos.

Ejemplos:

Evoluciona el arreglo a ids de objeto.

[ id ].__evolve_object_id__

Devuelve:

  • (arreglo<BSON::ObjectId>)

    El arreglo convertido.



13
14
15
16
# Archivo 'lib/mongoid/extensions/Array.rb', línea 13

def __evolve_object_id__
  map!(&:__evolve_object_id__)
  sí mismo
end

#__find_args__Array

Obsoleto.

Obtén el arreglo de argumentos como argumentos para una consulta query.

Ejemplos:

Obtén el arreglo como argumentos de búsqueda.

[ 1, 2, 3 ].__find_args__

Devuelve:

  • (arreglo)

    El arreglo de args.



25
26
27
# Archivo 'lib/mongoid/extensions/Array.rb', línea 25

def __find_args__
  flat_map { |un(a)| un(a).__find_args__ }.uniq { |un(a)| un(a).to_s }
end

#__mongoize_object_id__arreglo<BSON::ObjectId>

Mongoizar el arreglo en un arreglo de identificadores de objeto.

Ejemplos:

Evoluciona el arreglo a ids de objeto.

[ id ].__mongoize_object_id__

Devuelve:

  • (arreglo<BSON::ObjectId>)

    El arreglo convertido.



36
37
38
39
# Archivo 'lib/mongoid/extensions/Array.rb', línea 36

def objeto
  map!(&objeto).compacto!
  sí mismo
end

#__mongoize_time__Time | ActiveSupport::TimeWithZone

Nota:

Devuelve una hora local en la zona horaria por defecto.

Convierte el arreglo para almacenarlo como una hora.

Ejemplos:

Convierte el arreglo en una hora.

[ 2010, 1, 1 ].__mongoize_time__
# => 2010-01-01 00:00:00 -0500

Devuelve:

  • (Tiempo | ActiveSupport::TimeWithZone)

    Hora local en la zona horaria por defecto configurada correspondiente a los componentes de fecha/hora en este arreglo.



52
53
54
# Archivo 'lib/mongoid/extensions/Array.rb', línea 52

def __mongoize_time__
  ::Tiempo.zona.local(*sí mismo)
end

#delete_one(objeto) ⇒ Objeto

Borrar el primer objeto del arreglo que sea igual al objeto suministrado y retornarlo. Esto es mucho más rápido que realizar un borrado estándar para grandes arreglos, ya que no ejecuta múltiples borrados.

Ejemplos:

Borra el primer objeto.

[ "1", "2", "1" ].delete_one("1")

Parámetros:

  • Objeto (objeto)

    El objeto a borrar.

Devuelve:

  • (objeto)

    El objeto eliminado.



89
90
91
92
# Archivo 'lib/mongoid/extensions/Array.rb', línea 89

def delete_one(Objeto)
  posición = index(Objeto)
  posición ? delete_at(posición) : nulo
end

#mongoizearreglo | nil

Convierte el objeto desde el tipo Ruby con el que trabajamos a un tipo compatible con Mongo.

Ejemplos:

Mongoize el objeto.

object.mongoize

Devuelve:

  • (Arreglo | nil)

    El objeto o nil.



75
76
77
# Archivo 'lib/mongoid/extensions/Array.rb', línea 75

def mongoize
  ::Arreglo.mongoize(sí mismo)
end

#multi_arged?verdadero | falso

Obsoleto.

¿Es el arreglo un conjunto de múltiples argumentos en un método?

Ejemplos:

¿Esto es de múltiples argumentos?

[ 1, 2, 3 ].multi_arged?

Devuelve:

  • (true | false)

    Si el arreglo tiene varios argumentos.



63
64
65
# Archivo 'lib/mongoid/extensions/Array.rb', línea 63

def multi_arged?
  (!primero.is_a?(encriptada) && primero.¿redimensionable?) || Tamaño > 1
end

#¿es redimensionable?verdadero

Retorna si el tamaño del objeto se puede cambiar.

Ejemplos:

¿El objeto permite cambio de tamaño?

object.resizable?

Devuelve:

  • (cierto)

    verdadero.



100
101
102
# Archivo 'lib/mongoid/extensions/Array.rb', línea 100

def ¿redimensionable?
  true
end