Módulo: Mongo::Opciones::Mapeador

Ampliado por:
Mapeador
Incluido en:
Mapeador
Definido en:
lib/mongo/opciones/mapper.rb

Overview

Clase de utilidad para el comportamiento de mapeo de diversas opciones.

Desde:

  • 2.0.0

Colapso del resumen del método de instancia

Detalles del método de instancia

#transformar(opciones, asignaciones) ⇒ Hash

Transforma las opciones proporcionadas en un nuevo conjunto de opciones dadas la asignación proporcionada.

Las opciones que no están presentes en la asignación proporcionada se devuelven sin modificar.

Ejemplos:

Transformar las opciones.

Mapper.transform({ name: 1 }, { :name => :nombre })

Parámetros:

  • opciones (Hash)

    Las opciones para transformar

  • asignaciones (Hash)

    Las asignaciones de teclas.

Devuelve:

  • (Hash)

    Las opciones transformadas.

Desde:

  • 2.0.0



42
43
44
45
46
47
48
49
50
51
52
53
# Archivo 'lib/mongo/options/mapper.rb', línea 42

def transformar(opciones, asignaciones)
  map = transformar claves en cadenas(asignaciones)
  opta = transformar claves en cadenas(opciones)
  opta.reducir({}) hacer |transformado, (clave, valor)|
    Si map[clave]
      transformado[map[clave]] = valor
    else
      transformado[clave] = valor
    end
    transformado
  end
end

#transformar_documentos(opciones, mapeos, documento = BSON::Documento.nuevo) ⇒ BSON::Documento

Transforma las opciones proporcionadas en un nuevo conjunto de opciones según la asignación proporcionada. Espera la entrada y salida de BSON::Documents, por lo que no es necesaria una conversión explícita de cadenas.

Ejemplos:

Transformar las opciones.

Mapper.transform_documents({ name: 1 }, { :name => :nombre })

Parámetros:

  • opciones (BSON::Documento)

    Las opciones para transformar

  • asignaciones (BSON::Documento)

    Las asignaciones de teclas.

  • Documento (BSON::Documento) (predeterminado: BSON::Document.new)

    El documento de salida.

Devuelve:

  • (BSON::Documento)

    Las opciones transformadas.

Desde:

  • 2.0.0



69
70
71
72
73
74
75
# Archivo 'lib/mongo/options/mapper.rb', línea 69

def transformar_documentos(opciones, asignaciones, Documento = BSON::Documento.Nuevo)
  opciones.reducir(Documento) hacer |transformado, (clave, valor)|
    Nombre = asignaciones[clave]
    transformado[Nombre] = valor Si Nombre && !valor.nil?
    transformado
  end
end

#transform_keys_to_strings(opciones) ⇒ Hash

Convierte todas las claves de las opciones en cadenas.

Ejemplos:

Convertir todas las claves de opciones en cadenas.

Mapper.transform({ :name => 1 })

Parámetros:

  • opciones (Hash)

    Las opciones para transformar.

Devuelve:

  • (Hash)

    Las opciones transformadas.

Desde:

  • 2.0.0



87
88
89
90
91
92
# Archivo 'lib/mongo/options/mapper.rb', línea 87

def transformar claves en cadenas(opciones)
  opciones.reducir({}) hacer |transformado, (clave, valor)|
    transformado[clave.a_s] = valor
    transformado
  end
end

#transformar_claves_en_símbolos(opciones) ⇒ Hash

Convierte todas las claves de las opciones en símbolos.

Ejemplos:

Convierte todas las teclas de opción en símbolos.

Mapper.transform({ 'name' => 1 })

Parámetros:

  • opciones (Hash)

    Las opciones para transformar.

Devuelve:

  • (Hash)

    Las opciones transformadas.

Desde:

  • 2.2.2



104
105
106
107
108
109
# Archivo 'lib/mongo/options/mapper.rb', línea 104

def transformar claves en símbolos(opciones)
  opciones.reducir({}) hacer |transformado, (clave, valor)|
    transformado[clave.a_sym] = valor
    transformado
  end
end

#transformar_valores_en_cadenas(opciones) ⇒ Hash

Convierte todos los valores de los símbolos en cadenas.

Ejemplos:

Convierte todos los valores de los símbolos de opción en cadenas.

Mapper.transform({ :name => 1 })

Parámetros:

  • opciones (Hash)

    Las opciones para transformar.

Devuelve:

  • (Hash)

    Las opciones transformadas.

Desde:

  • 2.0.0



121
122
123
124
125
126
# Archivo 'lib/mongo/options/mapper.rb', línea 121

def transform_values_to_strings(opciones)
  opciones.reducir({}) hacer |transformado, (clave, valor)|
    transformado[clave] = valor.is_a?(Símbolo) ? valor.a_s : valor
    transformado
  end
end