Módulo: Mongo::Options::Mapper

Estendido por:
Mapeador
Incluído em:
Mapeador
Definido em:
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



40
41
42
43
44
45
46
47
48
49
50
# Arquivo 'lib/mongo/options/mapper.rb', linha 40

def transformação, transformação(opções, mapeamentos)
  map = transform_keys_to_strings(mapeamentos)
  opciona = transform_keys_to_strings(opções)
  opciona.cada_com_objeto({}) fazer |(chave, valor), transformado|
    se map[chave]
      transformado[map[chave]] = valor
    mais
      transformado[chave] = valor
    end
  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



66
67
68
69
70
71
# Arquivo 'lib/mongo/options/mapper.rb', linha 66

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

#transform_keys_to_strings(options) ➤ Hash

Converte todas as chaves das opções em 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



83
84
85
86
87
# Arquivo 'lib/mongo/options/mapper.rb', linha 83

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

#transform_keys_to_symbols(opções) ➤ Hash

Converte todas as chaves das opções em 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



99
100
101
102
103
# Arquivo 'lib/mongo/options/mapper.rb', linha 99

def transform_keys_to_symbols(opções)
  opções.cada_com_objeto({}) fazer |(chave, valor), transformado|
    transformado[chave.to_sym] = valor
  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



115
116
117
118
119
# Arquivo 'lib/mongo/options/mapper.rb', linha 115

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