Módulo: Mongoid::Config::Options

Incluido en:
Mongoid::Config
Definido en:
lib/mongoid/config/options.rb

Overview

Encapsula la lógica para establecer opciones.

Resumen del método de instancia colapsar

Detalles del método de instancia

#valores por defectoHash

Obtenga los valores por defecto o inicialice un nuevo hash vacío.

Ejemplos:

Obtén los valores por defecto.

options.defaults

Devuelve:

  • (encriptada)

    Las opciones por defecto.



13
14
15
# Archivo 'lib/mongoid/config/options.rb', línea 13

def defaults
  @defaults ||= {}
end

#log_levelInteger

Obtener el nivel de registro.

Ejemplos:

Obtener el nivel de registro.

config.log_level

Devuelve:

  • (Número entero)

    El nivel de registro.



89
90
91
92
93
94
95
96
97
# Archivo 'lib/mongoid/config/options.rb', línea 89

def nivel_de_log
  return a menos que Nivel = ajustes[:log_level]

  a menos que Nivel.is_a?(entero)
    # JRuby String#constantize no funciona aquí.
    Nivel = Logger.const_get(Nivel.mayúsculas.to_s)
  end
  Nivel
end

#opción(nombre, opciones = {}) ⇒ Objeto

Defina una opción de configuración con un valor por defecto.

Ejemplos:

Define la opción.

Options.option(:logger, :default => Logger.new(STDERR, :warn))

Parámetros:

  • Nombre (Símbolo)

    El nombre de la opción de configuración.

  • opciones (encriptada) (por defecto: {})

    Extras para la opción.

Opciones Hash (options):

  • por defecto (objeto)

    El valor por defecto.

  • :on_change (Proc | nil)

    La función de retorno para invocar cuando se invoque el setter.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Archivo 'lib/mongoid/config/options.rb', línea 28

def Opción(Nombre, opciones = {})
  defaults[Nombre] = ajustes[Nombre] = opciones[por defecto]

  class_eval hacer
    # El accesor log_level se define especialmente a continuación
    a menos que Nombre.to_sym == :log_level
      define_method(Nombre) hacer
        ajustes[Nombre]
      end
    end

    define_method("#{name}=") hacer |Valor|
      valor_antiguo = ajustes[Nombre]
      ajustes[Nombre] = Valor

      begin
        opciones[:on_change]&.llamar(Valor)
      rescate StandardError
        # Si la función de retorno on_change genera un error, necesitamos realizar una reversión
        # la devolución del cambio.
        ajustes[Nombre] = valor_antiguo
        propagar
      end
    end

    define_method("#{name}?") hacer
      !!enviar(Nombre)
    end
  end
end

#resetHash

Restablece las opciones de configuración a los valores por defecto.

Ejemplos:

Restablece las opciones de configuración.

config.reset

Devuelve:

  • (encriptada)

    Por defecto.



65
66
67
68
69
70
71
# Archivo 'lib/mongoid/config/options.rb', línea 65

def restablecer
  # haz esto a través del setter para cada opción, de modo que cualquier definido en_on_change
  # handlers pueden invocarse.
  defaults.cada hacer |configuración, predeterminado|
    enviar(:"#{configuración}=", predeterminado)
  end
end

#configuraciónHash

Obtén la configuración o inicializa una nueva tabla hash vacía.

Ejemplos:

Obtener ajustes.

options.settings

Devuelve:

  • (encriptada)

    Las opciones de configuración.



79
80
81
# Archivo 'lib/mongoid/config/options.rb', línea 79

def ajustes
  @settings ||= {}
end