Módulo: Mongoid::Config::Options

Incluído em:
Mongoid::Config
Definido em:
lib/mongoid/config/options.rb

Visão geral

Encapsula lógica para definir opções.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#defaultsHash

Obtenha os padrões ou inicialize um novo hash vazio.

Exemplos:

Obtenha os padrões.

options.defaults

Retorna:

  • (Hash)

    As opções padrão.



16
17
18
# Arquivo 'lib/mongoid/config/options.rb', linha 16

def defaults
  @defaults ||= {}
end

#log_level ➤ Integer

Obtenha o nível de registro.

Exemplos:

Obtenha o nível de registro.

config.log_level

Retorna:

  • (Inteiro)

    O nível de registro.



83
84
85
86
87
88
89
90
91
# Arquivo 'lib/mongoid/config/options.rb', linha 83

def log_level
  se level = Configurações[:log_level]
    a menos que level.is_a?(Inteiro)
      # JRuby String#constantize não funciona aqui.
      level = Logger.const_get(level.upcase.to_s)
    end
    level
  end
end

#opção(nome, opções = {}) ➤ Objeto

Defina uma opção de configuração com um padrão.

Exemplos:

Defina a opção.

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

Parâmetros:

  • name (Símbolo)

    O nome da opção de configuração.

  • opções (Hash) (padrão para: {})

    Extras para a opção.

Hash de opções (opções):

  • :default (Objeto)

    O valor padrão.

  • :on_change (Proc | nil)

    O retorno de chamada a ser invocado quando o setter for invocado.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Arquivo 'lib/mongoid/config/options.rb', linha 31

def opção(name, opções = {})
  defaults[name] = Configurações[name] = opções[:default]

  class_eval fazer
    O acessor #log_level é definido especialmente abaixo
    a menos que name.to_sym == :log_level
      define_method(name) fazer
        Configurações[name]
      end
    end

    define_method("#{name}=") fazer |valor|
      Configurações[name] = valor
      opções[:on_change]&.Chame(valor)
    end

    define_method("#{nome}?") fazer
      !!enviar(name)
    end
  end
end

#reinícioHash

Redefinir as opções de configuração para os padrões.

Exemplos:

Redefinir as opções de configuração.

config.reset

Retorna:

  • (Hash)

    Os padrões.



59
60
61
62
63
64
65
# Arquivo 'lib/mongoid/config/options.rb', linha 59

def reiniciar
  # faça isso por meio do setter para cada opção, para que qualquer on_change definido
  # manipuladores podem ser invocados.
  defaults.cada fazer |contexto, default|
    enviar(:"#{contexto}=", default)
  end
end

#settingsHash

Obtenha as configurações ou inicialize um novo hash vazio.

Exemplos:

Obtenha as configurações.

options.settings

Retorna:

  • (Hash)

    As opções de configuração.



73
74
75
# Arquivo 'lib/mongoid/config/options.rb', linha 73

def Configurações
  @settings ||= {}
end