クラス: Mongoid::Indexable:: 仕様

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb

Overview

インデックス仕様に関する動作をカプセル化します。

定数の概要の削減

マッピング =

対応するドライバー オプション名への快適な Ruby スタイルの名前のマッピング。

{
  expire_ after_seconds: :expire_ after
}

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

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

コンストラクターの詳細

#initialize(klass, key, opts = nil) ⇒ Specification

新しいインデックス仕様をインスタンス化します。

例:

新しい仕様を作成します。

Specification.new(Band, { name: 1 }, background: true)

パラメーター:

  • klass クラス

    インデックスが定義されるクラス。

  • キー ハッシュ

    名前と方向のペアのハッシュ。

  • ops ハッシュ (デフォルトはnil

    インデックス オプション。



43
44
45
46
47
48
49
50
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行43

デフォルト 初期化(klass, キー, ops = nil)
  options = ops || {}
  バリデーター::オプション.validate(klass, キー, options)
  @klass = klass
  @key = Normalize_key(キー)
  @fields = @key.キー
  @options = Normalize_options(options.dup)
end

インスタンス属性の詳細

フィールド=オブジェクト(読み取り専用)

属性フィールドの値を返します。



21
22
23
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行21

デフォルト フィールド
  @fields
end

#キー=ハッシュ

インデックス キーを返します。

次の値を返します。

  • ハッシュ

    インデックス キー。



21
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行21

attr_reader :klass, :key, :fields, :options

#klassClass

インデックスが定義されているクラスを返します。

次の値を返します。

  • クラス

    インデックスが定義されるクラス。



21
22
23
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行21

デフォルト klass
  @klass
end

#オプション=オブジェクト

属性オプションの値を返します。



21
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行21

attr_reader :klass, :key, :fields, :options

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

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

このインデックス仕様は別のインデックス仕様と等しいか

例:

指定が等価であることを確認します。

specification == other

パラメーター:

  • その他 仕様

    比較する仕様。

次の値を返します。

  • true | false

    仕様が等しい場合。



31
32
33
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行31

デフォルト ==(その他)
  フィールド == その他.フィールド & & キー == その他.キー
end

#name = string

インデックス キーを使用して生成されたインデックス名を取得します。

例:

インデックス名を取得します。

specification.name

次の値を返します。

  • ( string )

    name インデックス名。



58
59
60
61
62
ファイル 'Build/mongoid- 8.1 /lib/mongoid/indexable/specation.rb', 行58

デフォルト name
  @name ||= キー.reduce([]) 行う |n, (k,v)|
    n < " #{ k } _ #{ v } "
  end.join('_')
end