Espacio de nombres de nivel superior

Definido en el espacio de nombres

Modules: Mongoid, Rails

Colapso del resumen del método de instancia

Detalles del método de instancia

#¡comprobar si las transacciones podrían estar disponibles!(cliente) ⇒ Objeto

Este método genera un error si el clúster al que está conectado el cliente no admite transacciones en ningún caso. Actualmente, este es el caso de la topología independiente.

Tenga en cuenta que si este método no se activa, no garantiza que las transacciones estén disponibles para el clúster.

Parámetros:

  • Cliente (Mongo::Cliente)

    Cliente conectado a un cluster para ser probado.

Aumentos:



16
17
18
19
20
# Archivo 'lib/mongoid/railties/console_sandbox.rb', línea 16

def ¡Compruebe si hay transacciones disponibles!(Cliente)
  Si Cliente.clúster.¿soltero?
    propagar Mongoid::Errors::Transacciones no admitidas
  end
end

#dependencias_estándarObjeto

rubocop:todo todo



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
# Archivo 'gemfiles/standard.rb', línea 2

def standard_dependencies
  gem 'rake'

  group :desarrollo hacer
    gem 'patio ', '>= 0.9.35'

    plataforma :resonancia magnética hacer
      # Depurador para VSCode.
      Si !ENV['CI'] && !ENV['DOCKER'] && RUBY_VERSION < '3.0'
        gem 'debase'
        gem 'ruby-debug-ide'
      end
    end

    # Generación de configuración Evergreen
    gem 'erubi'
    gem 'tilt'
    gem 'solargrafo', plataforma: :resonancia magnética
  end

  group :desarrollo, :prueba hacer
    gem 'rspec', '~> 3.12'
    gem 'rubocop', '~> 1.45.1'
    gem 'rendimiento de rubocop', '~> 1.16.0'
    gem 'rubocop-rake', '~> 0.6.0'
    gem 'rubocop-rspec', '~> 2.18.1'

    plataforma :resonancia magnética hacer
      gem 'byebug'
    end

    plataforma :jruby hacer
      gem 'ruby-debug'
    end
  end

  group :prueba hacer
    gem 'timecop'
    gem 'rspec-retry'
    gem 'benchmark-ips'
    gem 'fuubar'
    gem 'rfc'
    gem 'childprocess'

    plataforma :resonancia magnética hacer
      gem 'interrupción de tiempo de espera'
    end
  end

  Si ENV['FLE'] == 'ayudante'
    gem 'libmongocrypt-helper ', '~> 1.14.0'
  end
end

#start_sandboxObject

Prepara la consola para el modo sandbox. Este método debe llamarse cuando un usuario inicia la consola Rails con el indicador '–sandbox'.



36
37
38
39
40
41
# Archivo 'lib/mongoid/railties/console_sandbox.rb', línea 36

def caja de arena de inicio
  Mongoid.contexto de persistencia.Cliente.grifo hacer |Cliente|
    ¡Compruebe si hay transacciones disponibles!(Cliente)
    transacción_de_sandbox_de_inicio(Cliente)
  end
end

#start_sandbox_transaction(cliente) ⇒ Objeto

Inicia una transacción que debe incluir todas las operaciones dentro de la sesión de consola aislada. Esta transacción no debe confirmarse nunca. Cuando un usuario finaliza la sesión de consola, el cliente se desconecta y la transacción se cancela automáticamente.

Parámetros:

  • Cliente (Mongo::Cliente)

    Cliente para iniciar la transacción.



28
29
30
31
32
# Archivo 'lib/mongoid/railties/console_sandbox.rb', línea 28

def transacción_de_sandbox_de_inicio(Cliente)
  sesión = Cliente.inicio_sesión
  ::Mongoid::Compacto.set_session(sesión, cliente: Cliente)
  sesión.iniciar_transacción
end