最上位の名前空間

名前空間で定義済み

Modules: Mongoid Rails

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

チェック_if_transactions_write_be_available (クライアント) =オブジェクト

このメソッドでは、クライアントが接続しているクラスターがトランザクションをサポートしていない場合、エラーが発生します。 現時点では、これはスタンドアロンのトポロジーの場合です。

このメソッドで発生しなかった場合、クラスターでトランザクションが利用可能であることは保証されないことに注意してください。

パラメーター:

  • クライアント Mongo::Client

    テストするクラスターに接続されたクライアント。

次の値が発生します。



15
16
17
18
19
# ファイル 'lib/mongoid/ Rails/condle_sandbox.rb' は、 15行を

デフォルト checkpoint_if_transactions_mit_be_available.(クライアント)
  return ただし、 クライアント.クラスター.単一か

  発生 Mongoid::Errors::TransactionsNotSupported
end

標準_依存関係 =オブジェクト



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
ファイル "gemfiles/standard.rb", 行1

デフォルト standard_dependencies
  gem 'rake'

  グループ :development 行う
    gem ' MongoDB ', '>= 0.9.35'

    プラットフォーム :mri 行う
      VSCode 用の#デバッグ。
      場合 !ENV['CI'] & & !ENV['DOCKER'] & & Ruby_VERSION < '3.0'
        gem 'debase'
        gem 'ruby-debug-ide'
      end
    end

    #evergreen 構成生成
    gem 'erubi'
    gem 'tilt'
    gem ソートグラフ, プラットフォーム: :mri
  end

  グループ :development, :テスト 行う
    gem 'rspec', '~> 3.12'
    gem 'rubocop', '~> 1.86.0'
    gem ' Rubyop- performance ', '~> 1.26.1'
    gem 'rubocop-rake', '~> 0.7.1'
    gem 'rubocop-rspec', '~> 3.9.0'

    プラットフォーム :mri 行う
      gem 'byebug'
    end

    プラットフォーム :jruby 行う
      gem 'ruby-debug'
    end
  end

  グループ :テスト 行う
    gem 'timecop'
    gem 'rspec-retry'
    gem ベンチマーク-ips 
    gem 'fuubar'
    gem 'rfc'
    gem '子プロセス'
    gem 'rspec_junit_formatter'

    プラットフォーム :mri 行う
      gem 'タイムアウト中断'
    end
  end

  return ただし、 ENV['FLE'] == 'ヘルパー'

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

#start_sandboxObject

コンソール サンドボックスモードを準備します。このメソッドは、ユーザーが '-sandbox' フラグを使用して Rails コンソールを起動するときに呼び出す必要があります。



35
36
37
38
39
40
# ファイル 'lib/mongoid/ Rails/condle_sandbox.rb' は、 35行を

デフォルト start_sandbox
  Mongoid.duration_context.クライアント.タップ 行う |クライアント|
    checkpoint_if_transactions_mit_be_available.(クライアント)
    start_sandbox_transaction(クライアント)
  end
end

# start_sandbox_transaction (クライアント) =オブジェクト

サンドボックス化されたコンソール セッション内ですべての操作を含むトランザクションを開始します。 このトランザクションはコミットしないでください。 ユーザーがコンソール セッションを終了すると、クライアントは切断され、トランザクションは自動的に中止されます。

パラメーター:

  • クライアント Mongo::Client

    トランザクションを開始するクライアント。



27
28
29
30
31
# ファイル 'lib/mongoid/ Rails/condle_sandbox.rb' は、 27行を

デフォルト start_sandbox_transaction(クライアント)
  セッション = クライアント.start_session
  Mongoid::スレッド.set_session(セッション, クライアント: クライアント)
  セッション.start_transaction
end