namespace de nivel superior

Definido bajo Namespace

Modules: Mongoid, Rails

Resumen del método de instancia colapsar

Detalles del método de instancia

#check_if_transactions_might_be_available!(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. Por el momento este es el caso de la topología autónomo.

Por favor, ten en cuenta que si este método no se activó, no garantiza que las transacciones estén disponibles para el clúster.

Parámetros:

  • Cliente (Mongo::Client)

    Cliente conectado a un clúster para ser probado.

Aumenta:



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

def verificar_si_las_transacciones_podrían_estar_disponibles!(Cliente)
  return a menos que Cliente.clúster.¿Soltero/a?

  propagar Mongoid::Errors::transacciones no admitidas
end

#standard_dependenciesobjeto



1
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 1

def standard_dependencies
  gem 'rake'

  group :development hacer
    gem 'yard', '>= 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 'solargraph', Plataforma: resonancia magnética
  end

  group :development, Prueba hacer
    gem 'rspec', '~> 3.12'
    gem 'rubocop', '~> 1.86.0'
    gem 'rubocop-performance', '~> 1.26.1'
    gem 'rubocop-rake', '~> 0.7.1'
    gem 'rubocop-rspec', '~> 3.9.0'

    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'
    gem 'rspec_junit_formatter'

    Plataforma resonancia magnética hacer
      gem 'timeout-interrupt'
    end
  end

  return a menos que ENV['FLE'] == 'asistente'

  gem 'libmongocrypt-helper', '~> 1.14.0'
end

#start_sandboxObject

Prepara el modo sandbox de la consola. Este método debe llamarse cuando un usuario inicie la consola de Rails con la bandera '--sandbox'.



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

def start_sandbox
  Mongoid.persistence_context.Cliente.tocar hacer |Cliente|
    verificar_si_las_transacciones_podrían_estar_disponibles!(Cliente)
    start_sandbox_transaction(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 en entorno controlado. Esta transacción nunca debe ser aceptada. Cuando un usuario finalice la sesión de la consola, el cliente se desconectará y, en consecuencia, la transacción se abortará automáticamente.

Parámetros:

  • Cliente (Mongo::Client)

    Cliente para iniciar la transacción.



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

def start_sandbox_transaction(Cliente)
  sesión = Cliente.start_session
  Mongoid::Con hilo.set_session(sesión, cliente: Cliente)
  sesión.start_transaction
end