Módulo: Mongo::Options::Mapper

Estendido por:
Mapeador
Incluído em:
Mapeador
Definido em:
build/ruby-driver-v2.19/lib/mongo/options/mapper.rb

Visão geral

classe de utilitário para comportamento de mapeamento de várias opções.

Desde:

  • 2.0.0

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#transform(opções, mapeamentos) ➤ Hash

Transforma as opções fornecidas em um novo conjunto de opções, dado o mapeamento fornecido.

As opções que não estão presentes no mapeamento fornecido são retornadas sem modificações.

Exemplos:

Transforme as opções.

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

Parâmetros:

  • opções (Hash)

    As opções para transformar

  • mapeamentos (Hash)

    Os mapeamentos de chave.

Retorna:

  • (Hash)

    As opções transformadas.

Desde:

  • 2.0.0



42
43
44
45
46
47
48
49
50
51
52
53
# File 'build/ruby-driver-v2.19/lib/mongo/options/mapper.rb', linha 42

def transformação, transformação(opções, mapeamentos)
  map = transform_keys_to_strings(mapeamentos)
  opciona = transform_keys_to_strings(opções)
  opciona.reduzir({}) fazer |transformado, (chave, valor)|
    se map[chave]
      transformado[map[chave]] = valor
    mais
      transformado[chave] = valor
    end
    transformado
  end
end

#transforma_documents(opções, mapeamentos, documento = BSON::Document.new) ➤ BSON::Document

Transforma as opções fornecidas em um novo conjunto de opções, dado o mapeamento fornecido. Espera BSON::Documentos de entrada e saída para que nenhuma conversão explícita de string precise acontecer.

Exemplos:

Transforme as opções.

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

Parâmetros:

  • opções (BSON::Document)

    As opções para transformar

  • mapeamentos (BSON::Document)

    Os mapeamentos de chave.

  • documento (BSON::Document) (o padrão é: BSON::Document.new)

    O documento de saída.

Retorna:

  • (BSON::Document)

    As opções transformadas.

Desde:

  • 2.0.0



69
70
71
72
73
74
75
# File 'build/ruby-driver-v2.19/lib/mongo/options/mapper.rb', linha 69

def transform_documents(opções, mapeamentos, documento = BSON::Documento.Novo)
  opções.reduzir(documento) fazer |transformado, (chave, valor)|
    name = mapeamentos[chave]
    transformado[name] = valor se name && !valor.nada?
    transformado
  end
end

#transform_keys_to_strings(options) ➤ Hash

Converte todas as chaves das opções para strings.

Exemplos:

Converta todas as chaves de opção em strings.

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

Parâmetros:

  • opções (Hash)

    As opções para transformar.

Retorna:

  • (Hash)

    As opções transformadas.

Desde:

  • 2.0.0



87
88
89
90
91
92
# File 'build/ruby-driver-v2.19/lib/mongo/options/mapper.rb', linha 87

def transform_keys_to_strings(opções)
  opções.reduzir({}) fazer |transformado, (chave, valor)|
    transformado[chave.to_s] = valor
    transformado
  end
end

#transform_keys_to_symbols(opções) ➤ Hash

Converte todas as chaves das opções para símbolos.

Exemplos:

Converta todas as chaves de opção em símbolos.

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

Parâmetros:

  • opções (Hash)

    As opções para transformar.

Retorna:

  • (Hash)

    As opções transformadas.

Desde:

  • 2.2.2



104
105
106
107
108
109
# File 'build/ruby-driver-v2.19/lib/mongo/options/mapper.rb', linha 104

def transform_keys_to_symbols(opções)
  opções.reduzir({}) fazer |transformado, (chave, valor)|
    transformado[chave.to_sym] = valor
    transformado
  end
end

#transform_values_to_strings(options) ➤ Hash

Converte todos os valores de símbolo em strings.

Exemplos:

Converta todos os valores de símbolo de opção em strings.

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

Parâmetros:

  • opções (Hash)

    As opções para transformar.

Retorna:

  • (Hash)

    As opções transformadas.

Desde:

  • 2.0.0



121
122
123
124
125
126
# File 'build/ruby-driver-v2.19/lib/mongo/options/mapper.rb', linha 121

def transform_values_to_strings(opções)
  opções.reduzir({}) fazer |transformado, (chave, valor)|
    transformado[chave] = valor.is_a?(Símbolo) ? valor.to_s : valor
    transformado
  end
end