Módulo: Mongoid::Criteria::Translator Private

Estendido por:
Tradutor
Incluído em:
Tradutor
Definido em:
lib/mongoid/criteria/translator.rb

Visão geral

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Este é um módulo assistente para traduzir valores Ruby atômicos e compostos em componentes correspondentes de query e opção. Originalmente implementada como patches para classes principais, essa abordagem geralmente cai em des favor, pois ela vaza muito para o namespace público.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#to_direction(valor) ➤ Hash | Numérico

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Converte o valor fornecido em uma especificação de direção para uso na classificação.

Exemplos:

Converta o valor em uma direção.

Translator.to_direction(:desc)
Translator.to_direction("1")
Translator.to_direction(-1)
Translator.to_direction(score: { "$meta": "textScore" })

Parâmetros:

  • valor (Hash | Numérico | string | Símbolo)

    O valor a ser convertido.

Retorna:

  • (Hash | Numérico)

    A direção.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Arquivo 'lib/mongoid/criteria/translator.rb', linha 29

def to_direction(valor)
  caso valor
  quando Hash então
    valor
  quando Numérico então
    valor
  quando String então
    valor =~ /desc/i ? -1 : 1
  quando Símbolo então
    to_direction(valor.to_s)
  mais
    aumentar ArgumentError, "não é possível converter #{valor.inspecionar} (#{valor.classe}) para uma especificação de direção"
  end
end