Módulo: Mongo::Options::Mapper

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

Overview

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

Desde:

  • 2.0.0

Resumen del método de instancia colapsar

Detalles del método de instancia

#transform(options, mappings) ⇒ Hash

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

Las opciones que no aparecen en el mapeo proporcionado se devuelven sin modificar.

Ejemplos:

Transforma las opciones.

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

Parámetros:

  • opciones (encriptada)

    Las opciones para transformar

  • asignaciones (encriptada)

    Las asignaciones de teclas.

Devuelve:

  • (encriptada)

    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_a_cadenas(asignaciones)
  opta = transformar_claves_a_cadenas(opciones)
  opta.disminuir({}) hacer |transformado, (llave, Valor)|
    si map[llave]
      transformado[map[llave]] = Valor
    else
      transformado[llave] = 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 dado el mapeo proporcionado. Espera BSON::Documentos dentro y fuera, por lo que no es necesaria una conversión explícita de string.

Ejemplos:

Transforma las opciones.

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

Parámetros:

  • opciones (BSON::Document)

    Las opciones para transformar

  • asignaciones (BSON::Document)

    Las asignaciones de teclas.

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

    El documento de salida.

Devuelve:

  • (BSON::Document)

    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.disminuir(Documento) hacer |transformado, (llave, Valor)|
    Nombre = asignaciones[llave]
    transformado[Nombre] = Valor si Nombre && !Valor.nil?
    transformado
  end
end

#transform_keys_to_strings(options) ⇒ 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 (encriptada)

    Las opciones para transformar.

Devuelve:

  • (encriptada)

    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_a_cadenas(opciones)
  opciones.disminuir({}) hacer |transformado, (llave, Valor)|
    transformado[llave.to_s] = Valor
    transformado
  end
end

#transform_keys_to_symbols(opciones) ⇒ Hash

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

Ejemplos:

Convertir todas las claves de opciones a símbolos.

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

Parámetros:

  • opciones (encriptada)

    Las opciones para transformar.

Devuelve:

  • (encriptada)

    Las opciones transformadas.

Desde:

  • 2.2.2



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

def transform_keys_to_symbols(opciones)
  opciones.disminuir({}) hacer |transformado, (llave, Valor)|
    transformado[llave.to_sym] = Valor
    transformado
  end
end

#transform_values_to_strings(options) ⇒ Hash

Convierte todos los valores de símbolo en cadenas.

Ejemplos:

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

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

Parámetros:

  • opciones (encriptada)

    Las opciones para transformar.

Devuelve:

  • (encriptada)

    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.disminuir({}) hacer |transformado, (llave, Valor)|
    transformado[llave] = Valor.is_a?(Símbolo) ? Valor.to_s : Valor
    transformado
  end
end