namespace de nível superior

Definido sob namespace

Módulos: ApplicationCable, ApplicationHelper, Blog, commentsHelper, Mongoid, MongoidTest, MongoidTestConfig, MongoidTestInit, PostsHelper, Rails, RailsClasses da Api: ApplicationController, ApplicationJob, ApplicationMailer, ApplicationsystemTestCase, Comentário, CommentTest, CommentController, Post, PostTest, PostsController

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#check_if_transactions_might_be_available!(cliente) ➤ Objeto

Esse método gera um erro se o cluster ao qual o cliente está conectado não permitir transações em nenhum caso. No momento, esse é o caso da topologia autônomo .

Observe que, se esse método não tiver gerado, ele não garante que as transações estejam disponíveis para o cluster.

Parâmetros:

  • Cliente (Mongo::Client)

    Cliente conectado a um cluster para ser testado.

Aumenta:



16
17
18
19
20
# File 'lib/mongoid/railties/console_sandbox.rb', linha 16

def check_if_transactions_might_be_available!(Cliente)
  se Cliente.cluster.único?
    aumentar Mongoid::Errors::TransactionsNotSupported
  end
end

#standar_dependenciesObjeto

rubocop:todos



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
55
# Arquivo 'gemfiles/standard.rb', linha 2

def standard_dependencies
  joia 'antro'

  grupo, grupo :development fazer
    joia 'jardim'

    Plataforma :mri fazer
      # Depurador para VSCode.
      se !ENV['CI'] && !ENV['Docker'] && RBY_VERSION < '3.0'
        joia 'debase'
        joia 'ruby-debug-ide'
      end
    end

    # Geração de configuração Evergreen
    joia 'erubi'
    joia 'tilt'
    joia 'solgraph', plataforma: :mri
  end

  grupo, grupo :development, :test fazer
    joia 'rspec', '~> 3.12'
    joia 'rubocop', '~> 1.45.1'
    joia 'rubocop-performance', '~> 1.16.0'
    joia 'rubocop-rake', '~> 0.6.0'
    joia 'rubocop-rspec', '~> 2.18.1'

    Plataforma :mri fazer
      joia 'byebug'
    end

    Plataforma :jruby fazer
      joia 'ruby-debug'
    end
  end

  grupo, grupo :test fazer
    joia 'ActiveJob'
    joia 'timecop'
    joia 'rspec-retry'
    joia 'benchmark-ips'
    joia 'fuubar'
    joia 'rfc'
    joia 'processo secundário'

    Plataforma :mri fazer
      joia 'timeout-interrupt'
    end
  end

  se ENV['FLE'] == 'assistente'
    joia 'libmongocrypt-helper', '~> 1.8.0'
  end
end

#start_sandboxObject

Prepara o modo sandbox do console . Este método deve ser chamado quando um usuário iniciar o console Rails com a bandeira '–sandbox'.



36
37
38
39
40
41
# File 'lib/mongoid/railties/console_sandbox.rb', linha 36

def start_sandbox
  Mongoid.persistence_context.Cliente.toque fazer |Cliente|
    check_if_transactions_might_be_available!(Cliente)
    start_sandbox_transaction(Cliente)
  end
end

#start_sandbox_transaction(cliente) ➤ Object

Inicia uma transação que deve incluir todas as operações dentro da sessão do console em sandbox. Esta transação não deve ser confirmada nunca. Quando um usuário encerrar a sessão do console, o cliente se desconectará e a transação será automaticamente cancelada, portanto.

Parâmetros:

  • Cliente (Mongo::Client)

    Cliente para iniciar a transação.



28
29
30
31
32
# File 'lib/mongoid/railties/console_sandbox.rb', linha 28

def start_sandbox_transaction(Cliente)
  session = Cliente.start_session
  ::Mongoid::Threaded.set_session(session, cliente: Cliente)
  session.start_transaction
end