Módulo: Mongoid::Clients

Ampliado por:
ActiveSupport::Concern
Incluye:
Options, Sessions, StorageOptions
Incluido en:
Compuesto
Definido en:
lib/mongoid/clientes.rb,
lib/mongoid/clientes/factory.rb,
lib/mongoid/clientes/options.rb,
lib/mongoid/clientes/sessions.rb,
lib/mongoid/clientes/storage_options.rb,
lib/mongoid/clientes/validators/almacenamiento.rb

Overview

Módulo Mixin incorporado en Mongoid::Document que añade la funcionalidad de conexión de cliente a la base de datos. También contiene métodos de clases singleton relacionados con la gestión de los clientes de bases de datos.

Definido bajo Namespace

Modules: Fábrica, Opciones, Sesiones, Opciones de almacenamiento, Validadores

Resumen de constantes colapsar

CREATE_LOCK =
Mutex (exclusión mutua).Nuevo

Resumen del atributo de la instancia

Atributos incluidos de StorageOptions

#remembered_storage_options

Resumen del método de clase colapsar

Métodos incluidos de Sessions

incluido

Métodos incluidos de Opciones

#colección, #collection_name, #mongo_client, #persistence_context, #persistence_context?, #with

Métodos incluidos de Opciones de almacenamiento

#remember_storage_options!, #storage_options

Detalles del método de clase

.cleararreglo

Borra todos los clientes de la hebra actual.

Ejemplos:

Borrar todos los clientes.

Mongoid::Clients.clear

Devuelve:

  • (arreglo)

    Los clientes vacíos.



26
27
28
# Archivo 'lib/mongoid/clients.rb', línea 26

def borrar
  cliente.borrar
end

.clientesHash<Símbolo, Mongo::Cliente>

Devuelve los clientes almacenados indexados por nombre.

Devuelve:

  • (Hash<Symbol, Mongo::cliente>)

    El índice de clientes.



101
102
103
# Archivo 'lib/mongoid/clients.rb', línea 101

def cliente
  @clients ||= {}
end

.defaultMongo::Client

Obtén el cliente por defecto.

Ejemplos:

Obtén el cliente por defecto.

Mongoid::Clients.default

Devuelve:

  • (Mongo::Client)

    El cliente por defecto.



36
37
38
# Archivo 'lib/mongoid/clients.rb', línea 36

def predeterminado
  con_nombre(por defecto)
end

.desconectarverdadero

Desconecta todos los clientes activos.

Ejemplos:

Desconecta todos los clientes activos.

Mongoid::Clients.disconnect

Devuelve:

  • (cierto)

    Verdadero.



46
47
48
49
# Archivo 'lib/mongoid/clients.rb', línea 46

def Desconectar
  cliente.each_value(&Cerrar)
  true
end

.reconnecttrue

Reconecta todos los clientes activos.

Ejemplos:

Reconecta todos los clientes activos.

Mongoid::Clients.reconnect

Devuelve:

  • (cierto)

    Verdadero.



57
58
59
60
# Archivo 'lib/mongoid/clients.rb', línea 57

def Reconnecting
  cliente.each_value(&:reconnect)
  true
end

.set(name, Client) ⇒ Mongo::Client

Almacene un cliente con el nombre proporcionado.

Ejemplos:

Configurar un cliente.

Mongoid::Clients.set(:analytics, my_client)

Parámetros:

  • Nombre (String | Símbolo)

    El nombre del cliente a establecer.

  • Cliente (Mongo::Client)

    El cliente a configurar.

Devuelve:

  • (Mongo::Client)

    El conjunto de clientes.



94
95
96
# Archivo 'lib/mongoid/clients.rb', línea 94

def Configura(Nombre, Cliente)
  cliente[Nombre.to_sym] = Cliente
end

.with_name(name) ⇒ Mongo::cliente

Obtén un cliente almacenado con el nombre provisto. Si no existe un cliente con el nombre dado, se creará uno nuevo, que se almacenará y se devolverá.

Ejemplos:

Obtén un cliente con el nombre.

Mongoid::Clients.with_name(:replica)

Parámetros:

  • Nombre (String | Símbolo)

    El nombre del cliente.

Devuelve:

  • (Mongo::Client)

    El cliente nombrado.



72
73
74
75
76
77
78
79
80
81
82
83
# Archivo 'lib/mongoid/clients.rb', línea 72

def con_nombre(Nombre)
  name_as_symbol = Nombre.to_sym
  return cliente[name_as_symbol] si cliente[name_as_symbol]

  CREATE_LOCK.sincronizar hacer
    si (key_vault_client = Mongoid.cliente.dig(name_as_symbol, :options, opciones de cifrado automático,
                                               cliente de Key Vault))
      cliente[key_vault_client.to_sym] ||= Clientes::Fábrica.Cree(key_vault_client)
    end
    cliente[name_as_symbol] ||= Clientes::Fábrica.Cree(Nombre)
  end
end