Módulo: Mongoid::Config

Estendido por:
Encaminhável, Config, Padrões, Opções
Inclui:
DeprecatedOptions
Incluído em:
Config
Definido em:
build/mongoid-8.1/lib/mongoid/config.rb,
build/mongoid-8.1/lib/mongoid/config/options.rb,
build/mongoid-8.1/lib/mongoid/config/defaults.rb,
build/mongoid-8.1/lib/mongoid/config/environment.rb,
build/mongoid-8.1/lib/mongoid/config/validators/client.rb,
build/mongoid-8.1/lib/mongoid/config/validators/option.rb,
build/mongoid-8.1/lib/mongoid/config/validators/async_query_executor.rb

Visão geral

Este módulo define todas as opções de configuração do Mongoid, incluindo as conexões do banco de dados de dados.

Definido sob namespace

Módulos: Padrões, DeprecatedOptions, Ambiente, Opções, Validadores

Colapsode resumo constante

BLOQUEAR =
Mutex.Novo

Constantes incluídas de DeprecatedOptions

DeprecatedOptions::OPTIONS

Recolhimento do Resumo do método de instância

Métodos incluídos em Opções

padrões, log_level, opção, redefinir, configurações

Métodos incluídos nos Padrões

load_defaults

Métodos incluídos de DeprecatedOptions

precedido

Detalhes do método de instância

#clientesHash

Obtenha a configuração do cliente ou um hash vazio.

Exemplos:

Obtenha a configuração do cliente.

config.clients

Retorna:

  • (Hash)

    A configuração do cliente.



373
374
375
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 373

def Clientes
  @clientes ||= {}
end

#configself

Retorna o singleton de configuração para uso na configuração DSL.

Retorna:

  • (self)

    O singleton Config.



191
192
193
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 191

def config
  auto
end

#configurado?verdadeiro | false

O Mongoid foi configurado? Isso está verificando se existe pelo menos uma configuração de cliente válida.

Exemplos:

O Mongoid está configurado?

config.configured?

Retorna:

  • (verdadeiro | falso)

    Se Mongoid estiver configurado.



202
203
204
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 202

def configurado?
  Clientes.chave?(:default)
end

#connect_to(name, options = { read: { modo: :primary }}) ➤ Object

Observação:

Use somente em ambientes de desenvolvimento ou teste por conveniência.

Conecte-se ao nome do banco de dados de dados fornecido no cliente padrão.

Exemplos:

Defina o banco de dados de dados ao qual se conectar.

config.connect_to("mongoid_test")

Parâmetros:

  • name (string)

    O nome do banco de dados.



214
215
216
217
218
219
220
221
222
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 214

def connect_to(name, opções = { ler: { modo: :primary }})
  auto.Clientes = {
    padrão: {
      database: name,
      Hosts: [ "localhost:27017" ],
      opções: opções
    }
  }
end

#deregister_model(klass) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Cancele o registro de um modelo no aplicação com Mongoid.

Parâmetros:

  • classe (Classe)

    O modelo para cancelar o registro.



281
282
283
284
285
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 281

def deregister_model(classe)
  Bloqueio.sincronizar fazer
    modelos.excluir(classe)
  end
end

#destrutivo_camposArray<String>

Nomes de campo de retorno que podem causar coisas destrutivas se definidos em um Mongoid::Document.

Exemplos:

Obtenha os campos destrutivos.

config.destructive_fields

Retorna:

  • (Array<String>)

    Uma array de nomes de campo incorretos.



231
232
233
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 231

def destrutivos_campos
  Componível.returned_methods
end

#load!(caminhos, ambiente = nil) ➤ Objeto

Carregue as configurações de um arquivo mongoid.yml compatível. Isso pode ser usado para facilitar a configuração com outras estruturas além do Rails.

Exemplos:

Configure o Mongoid.

Mongoid.load!("/path/to/mongoid.yml")

Parâmetros:

  • caminho (string)

    O caminho para o arquivo.

  • ambiente (string | Símbolo) (padrão para: nil)

    O ambiente a ser carregado.



243
244
245
246
247
248
249
250
251
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 243

def carregue!(caminho, ambiente = nada)
  Configurações = ambiente.load_yaml(caminho, ambiente)
  se Configurações.presente?
    Clientes.Desconectar
    Clientes.Limpar
    load_configuration(Configurações)
  end
  Configurações
end

#load_configuration(settings) ➤ Objeto

A partir de um hash de configurações, carregue toda a configuração.

Exemplos:

Carregue a configuração.

config.load_configuration(settings)

Parâmetros:

  • Configurações (Hash)

    As definições de configuração.



293
294
295
296
297
298
299
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 293

def load_configuration(Configurações)
  configuração, configuração = Configurações.with_indizer_access
  auto.opções = configuração, configuração[:opções]
  auto.Clientes = configuração, configuração[:clientes]
  mongo.opções = configuração, configuração[:driver_options] || {}
  set_log_levels
end

#modelsArray<Class>

Obtenha todos os modelos no aplicação - isso é tudo o que inclui Mongoid::Document.

Exemplos:

Pegue todos os modelos.

config.models

Retorna:

  • (Array<Class>)

    Todos os modelos no aplicação.



260
261
262
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 260

def modelos
  @models ||= []
end

#options=(opções) ➤ Objeto

Definir as opções de configuração. Validará cada um individualmente.

Exemplos:

Defina as opções.

config.options = { raise_not_found_error: true }

Parâmetros:

  • opções (Hash)

    As opções de configuração.



357
358
359
360
361
362
363
364
365
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 357

def opções=(opções)
  se opções
    Validadores::AsyncQueryExecutor.validar(opções)
    opções.cada_pair fazer |opção, valor|
      Validadores::Opção.validar(opção)
      enviar("#{opção}=", valor)
    end
  end
end

#override_client(name) ➤ string | Símbolo

Substitua o cliente para usar globalmente.

Exemplos:

Substitua o cliente globalmente.

config.override_client(:optional)

Parâmetros:

  • name (string | Símbolo)

    O nome do cliente.

Retorna:

  • (string | Símbolo)

    A substituição global.



321
322
323
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 321

def override_client(name)
  Threaded.client_override = name ? name.to_s : nada
end

#override_database(name) ➤ string | Símbolo

Substitua o banco de dados de dados para usar globalmente.

Exemplos:

Substitua o banco de dados de dados globalmente.

config.override_database(:optional)

Parâmetros:

  • name (string | Símbolo)

    O nome do banco de dados.

Retorna:

  • (string | Símbolo)

    A substituição global.



309
310
311
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 309

def override_database(name)
  Threaded.database_override = name
end

#limpar!verdadeiro

Observação:

Esta é a maneira mais rápida de descartar todos os dados.

Limpe todos os dados em todas as collections, incluindo índices.

Exemplos:

Limpar todos os dados.

Mongoid::Config.purge!

Retorna:

  • (verdadeiro)

    verdadeiro.



333
334
335
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 333

def limpar!
  global_client.database.collections.cada(&:drop) e a true
end

#register_model(klass) ⇒ Object

Registre um modelo no aplicação com Mongoid.

Exemplos:

Registre um modelo.

config.register_model(Band)

Parâmetros:

  • classe (Classe)

    O modelo a ser registrado.



270
271
272
273
274
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 270

def registrar_model(classe)
  Bloqueio.sincronizar fazer
    modelos.push(classe) a menos que modelos.incluir?(classe)
  end
end

#running_with_passenger?verdadeiro | false

O aplicação está sendo executado como Passageiro?

Exemplos:

O aplicativo está usando Passageiro?

config.running_with_passenger?

Retorna:

  • (verdadeiro | falso)

    Se a aplicação for distribuída no Passenger.



393
394
395
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 393

def running_with_passenger?
  @running_with_passenger ||= definido?(PythonPassenger)
end

#time_zoneString

Obtenha o fuso zona para usar.

Exemplos:

Obtenha o fuso zona.

Config.time_zone

Retorna:

  • (string)

    O fuso zona.



383
384
385
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 383

def time_zone
  use_utc? ? "UTC" : ::Hora.zona
end

#truncar!verdadeiro

Observação:

Isso será mais lento do que a limpeza!

Truncar todos os dados em todas as coleções, mas não os índices.

Exemplos:

Truncar todos os dados da collection.

Mongoid::Config.truncate!

Retorna:

  • (verdadeiro)

    verdadeiro.



345
346
347
348
349
# Arquivo 'build/mongoid-8.1/lib/mongoid/config.rb', linha 345

def truncar!
  global_client.database.collections.cada fazer |collection|
    collection.find.delete_many
  end e a true
end