Módulo: Mongoid::Criteria::Translator Privado

Ampliado por:
Traductor
Incluido en:
Traductor
Definido en:
lib/mongoid/criteria/translator.rb

Overview

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Este es un módulo asistente para traducir valores atómicos y compuestos de Ruby en los correspondientes componentes de consultas y opciones. Originalmente implementado como parches en clases principales, ese enfoque generalmente ha caído en desgracia, ya que se traslapa demasiado en el namespace público.

Resumen del método de instancia colapsar

Detalles del método de instancia

#to_direction(value) ⇒ Hash | Numeric

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el valor dado en una especificación de dirección para su uso en la ordenación.

Ejemplos:

Convierta el valor en una dirección.

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

Parámetros:

  • Valor (Hash | Numeric | String | Symbol)

    El valor a convertir.

Devuelve:

  • (Hash | Numeric)

    La dirección.



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

def to_direction(Valor)
  caso Valor
  Cuando Picadillo entonces
    Valor
  Cuando Numeric entonces
    Valor
  Cuando String entonces
    Valor =~ /desc/i ? -1 : 1
  Cuando Símbolo entonces
    to_direction(Valor.to_s)
  else
    propagar ArgumentError, "no se puede traducir #{valor.inspeccionar} (#{valor.clase}) a una especificación de dirección"
  end
end