Módulo: Mongoid::Attributes::Embedded

Ampliado por:
Embedded
Incluido en:
Embedded
Definido en:
lib/mongoid/atributos/embedded.rb

Overview

Módulo de utilidad para trabajar con atributos incrustados.

Resumen del método de instancia colapsar

Detalles del método de instancia

#traverse(attributes, path) ⇒ objeto | nil

Obtenga un valor incrustado o un subconjunto de atributos a través de la notación de punto.

Ejemplos:

Obtener un valor incrustado mediante la notación de punto.

Embedded.traverse({ 'name' => { 'en' => 'test' } }, 'name.en')
#=> 'test'

Parámetros:

  • atributos (encriptada)

    Los atributos del documento.

  • ruta (string)

    La string de notación de puntos.

Devuelve:

  • (Objeto | nil)

    Los atributos en la ruta dada, o nulo si la ruta no existe.



20
21
22
23
24
25
26
27
28
29
30
31
# Archivo 'lib/mongoid/attributes/embedded.rb', línea 20

def atravesar(atributos, ruta)
  ruta.división('.').cada hacer |llave|
    break si atributos.nil?

    atributos = si atributos.intentar(:key?, llave)
                   atributos[llave]
                 elsif atributos.respond_to?(:cada uno) && llave.¿fósforo?(/\A\d+\z/)
                   atributos[llave.to_i]
                 end
  end
  atributos
end