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.

Colapso del resumen del método de instancia

Detalles del método de instancia

#atravesar(atributos, ruta) ⇒ Objeto | nulo

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

Ejemplos:

Obtener un valor incrustado a través de la notación de puntos.

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

Parámetros:

  • atributos (Hash)

    Los atributos del documento.

  • ruta (Cadena) -

    La cadena 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 |clave|
    break Si atributos.nil?

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