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

Ampliado por:
Translator
Incluido en:
Translator
Definido en:
lib/mongoid/criteria/traductor.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 auxiliar para traducir valores Ruby atómicos y compuestos a los componentes de consulta y opción correspondientes. Originalmente implementado como parches para las clases principales, este enfoque ha caído en desuso, ya que se extiende demasiado al espacio de nombres público.

Colapso del resumen del método de instancia

Detalles del método de instancia

#to_direction(valor) ⇒ Hash | Numérico

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 clasificación.

Ejemplos:

Convierte 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 | Numérico | Cadena | Símbolo)

    El valor a convertir.

Devuelve:

  • (Hash | Numérico)

    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 dirección_a(valor)
  caso valor
  Cuando Picadillo entonces
    valor
  Cuando Numeric entonces
    valor
  Cuando String entonces
    valor =~ /desc/i ? -1 : 1
  Cuando Símbolo entonces
    dirección_a(valor.a_s)
  else
    propagar ArgumentError, "no se puede traducir #{value.inspect} (#{value.class}) a una especificación de dirección"
  end
end