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 cluster para ser probado.

Aumenta:



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/a?
    propagar Mongoid::Errors::transacciones no admitidas
  end
end

#standard_dependenciesobjeto

rubocop:todo all



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 :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.45.1'
    gem 'rubocop-performance', '~> 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 'timeout-interrupt'
    end
  end

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

#start_sandboxObject

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



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

def start_sandbox
  Mongoid.persistence_context.Cliente.tocar 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 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.



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.start_session
  ::Mongoid::Compacto.set_session(sesión, cliente: Cliente)
  sesión.iniciar_transacción
end