Módulo: Mongoid::Matcher::Regex Privado

Definido en:
lib/mongoid/matcher/regex.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.

Cotejador en memoria para la expresión $regex.

Resumen del método de clase colapsar

Detalles del método de clase

.¿coincide?(existe, valor, condición) ⇒ verdadero | falso, booleano

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

Devuelve si un valor satisface una expresión $regex.

Parámetros:

  • exists (true | false)

    No se utiliza.

  • Valor (string | arreglo<String>)

    El valor a comprobar.

  • condición (Expresiónregular | BSON::Regexp::Raw)

    La condición $regex.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Archivo 'lib/mongoid/matcher/regex.rb', línea 21

module_function def coincide?(exists, Valor, condición)
  condición = caso condición
  Cuando Regexp
    condición
  Cuando BSON::Regexp::Raw
    condición.compilar
  else
    # Ten en cuenta que las cadenas deben haberse convertido en una expresión regular
    # instancia ya existente (con $options tomadas en cuenta, si se proporcionan).
    propagar Errors::Consulta no válida, "$regex requiere un argumento de expresión regular: #{Errores::ConsultaNoVálida.truncate_expr(condition)}"
  end

  caso Valor
  Cuando Arreglo
    Valor.any? hacer |v|
      v =~ condición
    end
  Cuando String
    Valor =~ condición
  else
    false
  end
end

.matches_array_or_scalar?(valor, condición) ⇒ true | false, Booleano

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

Devuelve si un valor escalar o de matriz coincide con una expresión regular.

Parámetros:

  • exists (true | false)

    No se utiliza.

  • Valor (string | arreglo<String>)

    El valor a comprobar.

  • condición (Regexp)

    La condición Regexp.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


54
55
56
57
58
59
60
61
62
# Archivo 'lib/mongoid/matcher/regex.rb', línea 54

module_function def matches_array_or_scalar?(Valor, condición)
  si Arreglo === Valor
    Valor.any? hacer |v|
      coincide?(true, v, condición)
    end
  else
    coincide?(true, Valor, condición)
  end
end