クラス: Mongoid::関連付け::参照::HasMany::Enumerable

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙可能であり、確実に選択可能
定義:
lib/mongoid/関連付け/referenced/has_many/enumerable.rb

Overview

このクラスは、_loaded ドキュメントの基準または配列である可能性があるターゲットを持つすべての参照された関連付けのラッパーです。 これは両方の場合またはその 2 の組み合わせを処理します。

インスタンス属性の概要を折りたたむ

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

コンストラクターの詳細

#initialize(target, base = nil, association = nil) ⇒ Enumerable

基準または配列のいずれかを使用して、新しい列挙可能な を初期化します。

例:

条件で列挙可能な を初期化します。

Enumerable.new(Post.where(:person_id => id))

列挙可能な を配列で初期化します。

Enumerable.new([ post ])

パラメーター:



260
261
262
263
264
265
266
267
268
269
270
271
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 260行

デフォルト 初期化(ターゲット, ベース = nil, 関連付け = nil)
  @_base = ベース
  @_関連付け = 関連付け
  場合 ターゲット.is_a?(条件)
    @_added, @executed, @_loaded, @_unloaded = {}, false, {}, ターゲット
  else
    @_added, @executed = {}, true
    @_loaded = ターゲット.each_with_object({}) 行う |doc, _ target|
      _ target[doc._id] = doc 場合 doc
    end
  end
end

インスタンス属性の詳細

# _added =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
23
24
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

デフォルト _added
  @_added
end

# _added 追加されたドキュメント。 (追加されたドキュメント) =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

attr_accessor :_added, :_loaded, :_unloaded

# _loaded =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
23
24
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

デフォルト _loaded
  @_loaded
end

# _loaded _loaded された永続化ドキュメント。 (_loaded を含む永続化されたドキュメント。) =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

attr_accessor :_added, :_loaded, :_unloaded

# _unloaded =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
23
24
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

デフォルト _unloaded
  @_unloaded
end

# _unloaded 永続化されたDocsを表す基準。 (Acriteriarepresentationhardsteddocs.) =オブジェクト

3 つの主要なインスタンス変数はドキュメントのコレクションです。



22
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 22行

attr_accessor :_added, :_loaded, :_unloaded

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

Node (ドキュメント)=ドキュメント別名: push

列挙可能にドキュメントを追加します。

例:

ドキュメントを追加します。

enumerable << document

パラメーター:

次の値を返します。



63
64
65
66
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 63行

デフォルト <(ドキュメント)
  _added[ドキュメント._id] = ドキュメント
  自己
end

# == (その他) ==(その他) ========= ================================================================== false

列挙可能な が他のオブジェクトと等しいかどうかを確認します。

例:

等価性を確認します。

enumerable == []

パラメーター:

  • その他 (Enumerable)

    その他の列挙可能。

次の値を返します。

  • true | false

    オブジェクトが等しい場合。



34
35
36
37
38
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 34行

デフォルト ==(その他)
  return false ただし、 その他.respond_to?(:entries)

  エントリ == その他.エントリ
end

# === (その他) ========= =================================================================== false

ケース ステートメントでは、指定されたオブジェクトに対する列挙可能値の等価性を確認します。

例:

大文字と小文字の等価性を確認します。

enumerable === Array

パラメーター:

  • その他 オブジェクト

    チェックするオブジェクト。

次の値を返します。

  • true | false

    オブジェクトが等しい場合。



49
50
51
52
53
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 49行

デフォルト ===(その他)
  return false ただし、 その他.respond_to?(:entries)

  エントリ === その他.エントリ
end

_loaded? = true | false

列挙可能ファイルは _loaded でしたか。 これは、条件が実行されている場合、または条件全体を手動でロードした場合に当てはまります。

例:

列挙可能な _loaded かどうか

enumerable._loaded?

次の値を返します。

  • true | false

    列挙可能が _loaded になっている場合。



351
352
353
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 351行

デフォルト _loaded?
  !!@executed
end

#任意(*args) = true | false

関連付けにドキュメントがあるかどうかを返します。ドキュメントは、指定されたフィルターに従って任意に作成されます。

このメソッドは、関連付けに永続化されたドキュメントがある場合は true を返し、まだ永続化されていないドキュメントがある場合は true を返します。

関連付けがすでにロードされている場合、このメソッドはロードされたドキュメントを検査し、データベースをクエリしません。 関連付けがロードされていない場合、引数レスおよびブロックレス バージョンは関連付けをロードしません。他のバージョン(列挙可能に委任する)では、完了まで反復処理されるかどうかに応じて、関連付けを完全にロードするかどうかに応じて、関連付けを完全にロードするかどうかが決まります。

このメソッドは パラメーターと ブロックを取ることができます。 パラメーターまたは ブロックのいずれかの動作は、標準ライブラリの 列挙可能モジュールに委任されます。

列挙可能が任意の場合に注意してくださいメソッドがブロックとパターンの両方で呼び出される場合、パターンのみを使用します。

パラメーター:

  • *args オブジェクト...

    ドキュメントが満たす必要がある条件。 詳細については、 列挙可能なドキュメント を参照してください。

次の値を返します。

  • true | false

    関連付けにドキュメントがある場合。



223
224
225
226
227
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 223行

デフォルト any?(*args)
  return スーパー 場合 args.any? || ブロック_指定

  !空の場合
end

# as_json (オプション = {}) =ハッシュ

エンコーディングせずに、エントリに #as_json を送信します。

例:

列挙型をJSONとして取得します。

enumerable.as_json

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    任意のパラメーター。

次の値を返します。

  • ハッシュ

    エントリはすべてハッシュとして _load されます。



504
505
506
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 504行

デフォルト as_json(options = {})
  エントリ.as_json(options)
end

#avg(フィールド) ⇒ float | nil

列挙可能なすべてのdocumentの指定されたフィールドの平均を取得します。関連付けがロードされると、 はデータベースをクエリせずにメモリ内で を計算します。

例:

フィールドの平均を取得します。

enumerable.avg(:likes)

パラメーター:

  • フィールド シンボル

    平均するフィールド。

次の値を返します。

  • (Float | nil)

    documentがない場合は、平均値 または nil 。



534
535
536
537
538
539
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 534行

デフォルト avg(フィールド)
  values = field_values_for(フィールド)
  return nil 場合 values.空の場合

  values.合計 / values.サイズ.to_f
end

#clear(&block) ⇒ 配列<Document>

この列挙可能なすべてのドキュメントをクリアします。 ブロックが渡された場合、メモリ内の各ドキュメントに生成されます。

例:

列挙型をクリアします。

enumerable.clear

ブロックを使用して、列挙可能な をクリアします。

enumerable.clear do |doc|
  doc.unbind
end

次の値を返します。



82
83
84
85
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 82行

デフォルト クリア(&ブロック)
  in_memory(&ブロック) 場合 ブロック_指定
  _loaded.クリア および _added.クリア
end

#cloneArray<Document>

注:

これにより、すべてのドキュメントがメモリに読み込まれます。

列挙可能な各ドキュメントを複製します。

例:

列挙可能な を複製します。

enumerable.clone

次の値を返します。



95
96
97
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 95行

デフォルト 複製
  コレクション { |doc| doc.複製 }
end

#delete(document) {|doc| ... } ⇒ Document

指定されたドキュメントを列挙可能から削除します。

例:

ドキュメントを削除します。

enumerable.delete(document)

パラメーター:

結果:

  • ドキュメント

次の値を返します。



107
108
109
110
111
112
113
114
115
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 107行

デフォルト 削除(ドキュメント)
  doc = _loaded.削除(ドキュメント._id) || _added.削除(ドキュメント._id)
  場合 !doc & & _unloaded & & _unloaded.WHERE(_id: ドキュメント._id).存在するかどうか
    ノードの数(ドキュメント) 場合 ブロック_指定
    return ドキュメント
  end
  ノードの数(doc) 場合 ブロック_指定
  doc
end

# delete_if (=%) =配列=ドキュメント=

注:

この操作は、 データベースからすべてのドキュメントを読み込みます。

ブロックが true を返す列挙可能なすべてのドキュメントを削除します。

例:

一致するドキュメントをすべて削除します。

enumerable.delete_if do |doc|
  dod._id == _id
end

次の値を返します。



128
129
130
131
132
133
134
135
136
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 128行

デフォルト delete_if(&ブロック)
  load_all)
  delete = in_memory.選択する(&ブロック)
  delete. 行う |doc|
    _loaded.削除(doc._id)
    _added.削除(doc._id)
  end
  自己
end

#= true

この列挙型を反復処理すると、いくつかの異なるシナリオを処理する必要があります。

列挙可能で、基準がメモリに _loaded されている場合、すべての _loaded Docs Docsロックが解除されます。

列挙型に基準の _loaded が ない 場合は、ドキュメントのロード中にカーソルが反復され、次に _added Docsが反復されます。

ブロックが渡されない場合は、すべてのDocsを含む列挙型が返されます。

例:

列挙可能な を反復処理します。

enumerable.each do |doc|
  puts doc
end

すべてのDocsを含む列挙型を返す


a = enumerable.each

次の値を返します。

  • ( true )

    列挙可能が _loaded になったこと。



161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 161行

デフォルト 
  return to_enum ただし、 ブロック_指定

  場合 _loaded?
    _loaded.each_pair 行う |_id, doc|
      ドキュメント = _added.削除(doc._id) || doc
      set_base(ドキュメント)
      ノードの数(ドキュメント)
    end
  else
    unloaded_documents. 行う |doc|
      ドキュメント = _added.削除(doc._id) || _loaded.削除(doc._id) || doc
      _loaded[ドキュメント._id] = ドキュメント
      set_base(ドキュメント)
      ノードの数(ドキュメント)
    end
  end
  _added.each_pair 行う |_id, doc|
    ノードの数(doc)
  end
  @executed = true
end

#= true | false

列挙可能な は空になっていますか。 _loaded かどうかに基づいて、カウントが 0 であるかどうかが判断されます。

例:

列挙可能な は空になっていますか。

enumerable.empty?

次の値を返します。

  • true | false

    列挙可能性が空の場合。



191
192
193
194
195
196
197
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 191行

デフォルト 空の場合
  場合 _loaded?
    in_memory.空の場合
  else
    _added.空の場合 & & !_unloaded.存在するかどうか
  end
end

#first(limit = nil) ⇒ Document

注:

条件に他のソートが定義されていない場合に、_id にソートを自動的に追加すると、パフォーマンスの問題が発生する可能性があります。最初または最後に を使用すると予期しないパフォーマンスが低下する場合は、代わりに 以降を使用してください。では順序が保証されないことに注意してください。

列挙可能な最初のドキュメントを取得します。 最初に永続化されたドキュメントをチェックします。 列挙可能な全体をロードすることはありません。

例:

最初のドキュメントを取得します。

enumerable.first

パラメーター:

  • limit 整数 (デフォルトはnil

    返されるドキュメントの数。

次の値を返します。



244
245
246
247
248
249
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 244行

デフォルト 最初に(limit = nil)
  _loaded.試す(:values).試す(:first) ||
    _added[(ul = _unloaded.試す(:first, limit)).試す(:_id)] ||
    ul ||
    _added.values.試す(:first)
end

#in_memoryArray<Document>

注:

ブロックが渡されると、各ドキュメントに生成されます。

_loaded または _added された列挙可能なすべてのドキュメントを返します。

例:

メモリ内のDocsを取得します。

enumerable.in_memory

次の値を返します。



307
308
309
310
311
312
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 307行

デフォルト in_memory
  docs = (_loaded.values + _added.values)
  docs. 行う |doc|
    ノードの数(doc) 場合 ブロック_指定
  end
end

# を含みますか(doc) = true | false

提供されたドキュメントがターゲットに含まれているかどうか

例:

ターゲットにドキュメントが含まれているかどうか

enumerable.include?(document)

パラメーター:

次の値を返します。

  • true | false

    ドキュメントがターゲット内にある場合。



281
282
283
284
285
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 281行

デフォルト include?(doc)
  return スーパー ただし、 _unloaded

  _unloaded.WHERE(_id: doc._id).存在するかどうか || _added.has_keys_keys(doc._id)
end

詳しくは、 を 検査しstring ます

検査では、配列スタイルの印刷が必要かどうかのエントリのみが検査されます。

例:

列挙可能を調べます。

enumerable.inspect

次の値を返します。

  • ( string )

    検査された列挙。



294
295
296
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 294行

デフォルト 検査する
  エントリ.検査する
end

#last(limit = nil) ⇒ Document

注:

条件に他のソートが定義されていない場合に、_id にソートを自動的に追加すると、パフォーマンスの問題が発生する可能性があります。最初または最後に を使用すると予期しないパフォーマンスが低下する場合は、代わりに 以降を使用してください。では順序が保証されないことに注意してください。

列挙可能な最後のドキュメントを取得します。 最初に新しいドキュメントをチェックします。 列挙可能な全体をロードすることはありません。

例:

最後のドキュメントを取得します。

enumerable.last

パラメーター:

  • limit 整数 (デフォルトはnil

    返されるドキュメントの数。

次の値を返します。



329
330
331
332
333
334
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 329行

デフォルト last(limit = nil)
  _added.values.試す(:last) ||
    _loaded.試す(:values).試す(:last) ||
    _added[(ul = _unloaded.試す(:last, limit)).試す(:_id)] ||
    ul
end

# mongostat<Object>

列挙可能なプロキシをマーシャリングダンプするのに必要なデータを提供します。

例:

プロキシをダンプします。

Marshal.dump(proxy)

次の値を返します。

  • 配列<Object>

    ダンプされたデータ。



361
362
363
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 361行

デフォルト legacy_dump
  [ _added, _loaded, _unloaded, @executed ]
end

# mongostal_load (data) = 配列"<Object>

列挙可能なプロキシをマーシャリングロードするのに必要なデータをロードします。

例:

プロキシをロードします。

Marshal.load(proxy)

次の値を返します。

  • 配列<Object>

    ダンプされたデータ。



371
372
373
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 371行

デフォルト legacy_load(データ)
  @_added, @_loaded, @_unloaded, @executed = データ
end

#max(field = nil) ⇒ Numeric | nil

列挙可能なすべてのdocumentの指定されたフィールドの最大値を取得します。関連付けがロードされると、 はデータベースをクエリせずにメモリ内で を計算します。

例:

フィールドの最大値をGETします。

enumerable.max(:likes)

パラメーター:

  • フィールド 記号 (デフォルトはnil

    フィールドを最大 個に設定します。

次の値を返します。

  • (Numeric | nil)

    最大値、または document がない場合は nil 。



567
568
569
570
571
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 567行

デフォルト 最大(フィールド = nil)
  return スーパー() 場合 ブロック_指定

  field_values_for(フィールド).最大
end

#min(field = nil) ⇒ Numeric | nil

列挙可能なすべてのdocumentの指定されたフィールドの最小値を取得します。関連付けがロードされると、 はデータベースをクエリせずにメモリ内で を計算します。

例:

Get the min of a フィールド.

enumerable.min(:likes)

パラメーター:

  • フィールド 記号 (デフォルトはnil

    最小値フィールド

次の値を返します。

  • (Numeric | nil)

    documentがない場合は最小値または nil 。



551
552
553
554
555
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 551行

デフォルト min(フィールド = nil)
  return スーパー() 場合 ブロック_指定

  field_values_for(フィールド).min
end

プル型(*キー)# = 配列 | Array[Array]<Array>

ターゲット内のdocumentから指定されたフィールド名をプルします。コレクションがロードされている場合は、ロードされたdocumentからプルされます。そうでない場合は、アンロードされた基準から除外されます。それ以外の場合で、追加されたすべてのdocumentからも減算されます。

パラメーター:

  • *fields (Symbol...)

    削除するフィールド名。

次の値を返します。

  • 配列 | Array<Array>

    フィールド値の配列。複数のフィールドが指定されている場合、配列の配列が返されます。



384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 384行

デフォルト プル型(*キー)
  [].タップ 行う |結果|
    場合 _loaded? || _added.any?
      klass = @_関連付け.klass
      completed = preserve_pulack(キー, document_Class: klass)
    end

    場合 _loaded?
      docs = _loaded.values.map { |v| BSON::ドキュメント.新着情報(v.属性) }
      結果.concat plack_from_documents(docs, completed[:field_names], document_Class: klass)
    elsif _unloaded
      条件 = 場合 _added.any?
                   ids_to_exclude = _added.キー
                   _unloaded.ではない(:_id.in => ids_to_exclude)
                 else
                   _unloaded
                 end

      結果.concat 条件.プル型(*キー)
    end

    場合 _added.any?
      docs = _added.values.map { |v| BSON::ドキュメント.新着情報(v.属性) }
      結果.concat plack_from_documents(docs, completed[:field_names], document_Class: klass)
    end
  end
end

#resetfalse

列挙可能な状態を永続的な状態にリセットします。

例:

列挙可能な値をリセットします。

enumerable.reset

次の値を返します。

  • false

    常に false です。



418
419
420
421
422
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 418行

デフォルト リセット
  _loaded.クリア
  _added.クリア
  @executed = false
end

delete_unloaded (criteria) =オブジェクト

基礎となるロードされていない基準オブジェクトを新しい値でリセットします。 基礎となる配列を同期するために、HATM 関連付けを使用しました。

例:

ロードされていないドキュメントをリセットします。

enumerable.reset_unloaded(criteria)

パラメーター:

  • 条件 基準

    置き換える基準。



431
432
433
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 431行

デフォルト delete_unloaded(条件)
  @_unloaded = 条件 場合 _unloaded.is_a?(条件)
end

response_to? (name, include_private = false) = true | false

この列挙型は指定された メソッドに応答しますか。

例:

列挙可能な は メソッドに応答しますか。

enumerable.respond_to?(:sum)

パラメーター:

  • name ( string | Symbol )

    メソッドの名前。

  • include_private true | false (デフォルトはfalse

    プライベート メソッドを含めるかどうか。

次の値を返します。

  • true | false

    列挙可能が応答するかどうか。



445
446
447
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 445行

デフォルト respond_to?(name, include_private = false)
  [].respond_to?(name, include_private) || スーパー
end

サイズ:整数 またはLengthとも呼ばれます

この列挙型の合計サイズを取得します。 これは、すべての永続化されたドキュメントと非永続化ドキュメントの組み合わせです。

例:

サイズを取得します。

enumerable.size

次の値を返します。

  • (整数)

    列挙可能な のサイズ。



456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 456行

デフォルト サイズ
  _unloaded が存在する場合は、ドキュメントのセットと一致します
  この関連付けに属し、すでに永続化されている
  # をデータベースに接続します。このドキュメントセットは、次の場合に考慮する必要があります
  関連付けのサイズを計算する
  # が追加されてから
  場合 _unloaded
    場合 _added.any?
      # _added には、_unload がすでに含まれているレコードが含まれている場合があることに注意してください
      # に一致します。これは、関連付けに配列が割り当てられている場合に当てはまります。
      表示される項目の数は で、それらの一部はすでに関連付けの要素でした。
      #
      #したがって、_unloaded.count がすべての要素を除外することを確認する必要があります。
      _added にすでに存在する 。

      count = _unloaded.ではない(:_id.in => _added.values.map(&:id)).count
      count + _added.values.count
    else
      _unloaded.count
    end

  else
    _loaded.count + _added.count
  end
end

#sum (フィールド = nil) =数値

列挙可能なすべてのdocumentに対して指定されたフィールドの合計を取得します。関連付けがロードされると、 はデータベースをクエリせずにメモリ内で を計算します。

例:

Get フィールドの合計をします。

enumerable.sum(:likes)

パラメーター:

  • フィールド 記号 (デフォルトはnil

    合計するフィールド。

次の値を返します。

  • 数値

    合計値。



518
519
520
521
522
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 518行

デフォルト 合計(フィールド = nil)
  return スーパー(フィールド || 0) 場合 ブロック_指定

  field_values_for(フィールド).合計 || 0
end

# to_json (オプション = {}) = string

エントリに #to_json を送信します。

例:

列挙型をJSONとして取得します。

enumerable.to_json

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    任意のパラメーター。

次の値を返します。

  • ( string )

    エントリはすべて string として _load されます。



492
493
494
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 492行

デフォルト to_json(options = {})
  エントリ.to_json(options)
end

#uniqArray<Document>

注:

この操作は、 データベースからすべてのドキュメントを読み込みます。

列挙可能なすべての一意のドキュメントを返します。

例:

一意のドキュメントをすべて取得します。

enumerable.uniq

次の値を返します。



581
582
583
# ファイル 'lib/mongoid/関連付け/referenced/has_many/enumerable.rb' は、 581行

デフォルト 一意
  エントリ.一意
end