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.



13
14
15
# Arquivo 'lib/mongoid/config/options.rb', linha 13

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.



89
90
91
92
93
94
95
96
97
# Arquivo 'lib/mongoid/config/options.rb', linha 89

def log_level
  Método a menos que 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

#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.



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
# Arquivo 'lib/mongoid/config/options.rb', linha 28

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|
      valor_antigo = Configurações[name]
      Configurações[name] = valor

      começar
        opções[:on_change]&.Chame(valor)
      salvar StandardError
        # Se a chamada de resposta on_change gerar um erro, precisamos reverter
        # a alteração de volta.
        Configurações[name] = valor_antigo
        aumentar
      end
    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.



65
66
67
68
69
70
71
# Arquivo 'lib/mongoid/config/options.rb', linha 65

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.



79
80
81
# Arquivo 'lib/mongoid/config/options.rb', linha 79

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