モジュール: Mongoid::Toolable::Instanceメソッドs

次のドキュメントに含まれます。
ドキュメント
定義:
lib/mongoid/contactable.rb

Overview

TODO:

ActiveSupport::Concern を使用したリファクタリング

混合機能を提供するために使用されます。

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

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

# _client_contact_updates (field = nil) = nil) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

アクセス操作によるモデルの変更をクリアします。

パラメーター:

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

    更新する追加フィールドの名前。



93
94
95
96
97
# ファイル 'lib/mongoid/contactable.rb' 行93

デフォルト _clear_touch_updates(フィールド = nil)
  delete_change(:update_at)
  delete_change(フィールド) 場合 フィールド
  _parent._clear_touch_updates 場合 _contactable_parent?
end

# _gather_tool_updates (現在は フィールドstring nil) == nil)=======================================================

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

現在のドキュメントとその親(ルート ノードを含む)のアクセス可能なフィールドを再帰的に設定します。 ルート ドキュメントで実行されるアトミック $set 操作の結合された $set 操作を返します。

パラメーター:

  • になりました 時間

    タップされた時間を同期するために使用されるタイムスタンプ。

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

    更新する追加フィールドの名前。

次の値を返します。

  • ハッシュ 未満string 、時間

    アトミック $set として実行するアクセス操作。



75
76
77
78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongoid/contactable.rb' 行75

デフォルト _gather_touch_updates(になりました, フィールド = nil)
  return 場合 access_colbacks_uppressed?

  フィールド = database_field_name(フィールド)

  write_attribute(:update_at, になりました) 場合 respond_to?(" Updated_at= ")
  write_attribute(フィールド, になりました) 場合 フィールド

  transformations = _extract_tools_from_atomic_sets(フィールド) || {}
  transformations.mergeします。(_parent._gather_touch_updates(になりました) || {}) 場合 _contactable_parent?
  transformations
end

# _run_contact_colbacks_from_ root =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドキュメントとその親に対して :pure コールバックを再帰的に実行します。ルート ドキュメントから始まり、連続する子ドキュメントまで段階的に実行されます。



104
105
106
107
108
# ファイル 'lib/mongoid/contactable.rb' 行104

デフォルト _run_contact_colbacks_from_ root
  return 場合 access_colbacks_uppressed?
  _parent._run_contact_colbacks_from_ root 場合 _contactable_parent?
  run_colbacks(:があります)
end

# _contactable_parent? =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

親が存在し、アクセス可能かどうかを示します。

次の値を返します。



113
114
115
# ファイル 'lib/mongoid/contactable.rb' 行113

デフォルト _contactable_parent?
  _parent & & _関連付け&.逆_関連付け&.アクセス可能かどうか
end

非表示_可用性 =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ブロックの実行中、このモジュールを含むクラスのアクセス コールバックの呼び出しを抑制します。

例:

ユーザー ドキュメントでのアクセス コールバックを非表示にしました。

person.suppress_touch_callbacks { ... }


22
23
24
# ファイル 'lib/mongoid/contactable.rb' 行22

デフォルト 抑制_可用性
  到達可能.抑制_可用性(自己.クラス.name) { ノードの数 }
end

topic

注:

これらのオプションが設定されている場合は、関連付けは自動構築されません。

ドキュメントを参照して、update_at タイムスタンプとオプションで提供されたフィールドを現在の時刻に更新します。 access オプションを使用して include_to の関連付けが存在する場合は、それらも更新されます。

例:

Updated_at タイムスタンプを更新します。

document.touch

Updated_at と提供されたタイムスタンプを更新します。

document.touch(:audited)

パラメーター:

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

    更新する追加フィールドの名前。

次の値を返します。

  • true/false

    ドキュメントが new_record が true の場合は false 。



51
52
53
54
55
56
57
58
59
60
61
62
63
# ファイル 'lib/mongoid/contactable.rb' 行51

デフォルト access(フィールド = nil)
  return false 場合 _root.new_record?

  begin
    transformations = _gather_touch_updates(時間.Current, フィールド)
    _root.送信(:作成_アトミック_操作, '$set' => transformations) 場合 transformations.存在するかどうか
    _run_contact_colbacks_from_ root
  保証する
    _clear_touch_updates(フィールド)
  end

  true
end

に関すること= true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このモジュールを含むクラスで、アクセス コールバックが抑制されているかどうかをクエリします。

次の値を返します。

  • true | false

    アクセス コールバックが抑制されるかどうか。



32
33
34
# ファイル 'lib/mongoid/contactable.rb' 行32

デフォルト access_colbacks_uppressed?
  到達可能.access_colbacks_uppressed?(自己.クラス.name)
end