モジュール: Mongoid::Loadable
- 次のドキュメントに含まれます。
- Mongoid
- 定義:
- lib/mongoid/loadable.rb
Overview
Mongoid がすべての定義されたモデルをオートロードする方法を定義します。
定数の概要の削減
- DEFAULT_MODEL_PATHS =
model クラスを検索する必要があるパスのデフォルトのリスト。Rails が存在する場合は、代わりに「アプリ/models」パスが使用されます。( #model_paths を参照してください)。
%w[ ./app/models ./lib/models ].freeze
- DEFAULT_Ignore_PATCH
modelをロードするときに無視するパスに一致するグローバル パターンのデフォルトリスト。デフォルトは「/models/concerns/」になります。これは Rails が model への拡張機能に使用します(および、順序以外でロードされた場合にエラーが発生します)。
詳しくは、 #ignore_pattern を参照してください。
%w[ */models/concers/* ].freeze
インスタンス メソッドの概要を折りたたむ
-
#files_user_path(パス)=Array=string=string===========================================================<String>
パスが 1 つある場合、 はそのパス内のすべての Ruby ファイルを返します(または、
preload_modelsが model 名のリストである場合、はそれらの名前付きmodelのファイルのみを返します)。 -
ファイル_の下_パス (パス) =files_users (パス) = 配列=string=string=========================================================<String>
パスのリストが指定された場合、そのパスにあるすべての Ruby ファイルを返します(または、
preload_modelsが model 名のリストである場合、 はそれらの named model のファイルのみを返します)。 -
#ignore_patterns ⇒ Array<String>
指定されたパスをモデル ローダーが無視するかどうかを決定するグローバル パターンの配列を返します。
-
#無視_パターン=(パターン)===================================
指定されたパターンの配列に無視パターンを設定します。
-
無視される場合(file_path) = true | false
指定されたファイルパスが無視パターンのいずれかに一致する場合は true を返します。
-
# load_model (file) = オブジェクト
private
A convenience method for loading a model's ファイル.
-
# load_models (paths = model_paths) = オブジェクト
モデルパスのリストを検索してすべてのモデルを取得し、それを要求することで、インデックスと継承が開発と本番の両方で同じ結果で動作します。
-
model_paths(モデルパス)= Array#<String>
アプリケーションのmodel定義が配置されているパスの配列を返します。
-
model_paths= (パス)====================================================
指定されたパスの配列へのモデルパスを設定します。
インスタンス メソッドの詳細
#files_user_path(パス)=Array=string=string===========================================================<String>
パスが 1 つある場合、 はそのパス内のすべての Ruby ファイルを返します(または、preload_models が model 名のリストである場合、はそれらの名前付きmodelのファイルのみを返します)。
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# ファイル 'lib/mongoid/loadable.rb', 行61 デフォルト ファイル_下_パス(path) ファイル = 場合 preload_models.サイズ変更可能か preload_models .map { |モデル| " " } .選択する { |file_name| ファイル.存在するかどうか(file_name) } else Dir.グローバル(" #{ path } /**/*.rb ") .拒否 { |file_name| 無視(file_name) } end # では各エントリからパスとサフィックスを削除します。 ファイル.map { |ファイル| ファイル.gsub(%r{^#{path}/}, '').gsub(/\.rb$/, '') } end |
ファイル_の下_パス (パス) =files_users (パス) = 配列=string=string=========================================================<String>
パスのリストが指定された場合、そのパスにあるすべての Ruby ファイルを返します(または、preload_models が model 名のリストである場合、 はそれらの named model のファイルのみを返します)。
49 50 51 |
# ファイル 'lib/mongoid/loadable.rb', 行49 デフォルト ファイル_下_パス(path) path.flat_map { |path| ファイル_下_パス(path) } end |
#ignore_patterns ⇒ Array<String>
指定されたパスをモデル ローダーが無視するかどうかを決定するグローバル パターンの配列を返します。
115 116 117 |
# ファイル 'lib/mongoid/loadable.rb', 行115 デフォルト 無視_パターン @ignore_pattern ||= DEFAULT_Ignore_PATCH.dup end |
#無視_パターン=(パターン)===================================
指定されたパターンの配列に無視パターンを設定します。 これらは、特定のパスをモデル ローダーによって無視するかどうかを決定するグローバル パターンです。
132 133 134 |
# ファイル 'lib/mongoid/loadable.rb', 行132 デフォルト 無視_パターン=(pattern) @ignore_pattern = pattern end |
無視される場合(file_path) = true | false
指定されたファイルパスが無視パターンのいずれかに一致する場合は true を返します。
142 143 144 |
# ファイル 'lib/mongoid/loadable.rb', 行142 デフォルト 無視(file_path) 無視_パターン.any? { |パターン| ファイル.fnmatch?(パターン, file_path) } end |
# load_model (file) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
modelのファイルをロードするための便利な方法。Rails の require_dependency メソッドが存在する場合は、それが使用されます。それ以外の場合は、require が使用されます。
85 86 87 88 89 90 91 |
# ファイル 'lib/mongoid/loadable.rb', 行85 デフォルト load_model(ファイル) 場合 定義済み?(require_dependency) require_dependency(ファイル) else が必要(ファイル) end end |
# load_models (paths = model_paths) =オブジェクト
モデルパスのリストを検索してすべてのモデルを取得し、それを要求することで、インデックスと継承が開発と本番の両方で同じ結果で動作します。
31 32 33 34 35 36 37 38 39 |
# ファイル 'lib/mongoid/loadable.rb', 行31 デフォルト load_models(path = model_paths) ファイル = ファイル_下_パス(path) ファイル.sort.各 行う |ファイル| load_model(ファイル) end nil end |
model_paths(モデルパス)= Array#<String>
アプリケーションのmodel定義が配置されているパスの配列を返します。Rails がロードされている場合、これはデフォルトで構成された "アプリ/model" パス(例:config.paths["app/models"])それ以外の場合は、デフォルトで "%w(./ アプリ/models ./lib/models)" になります。
これらのパスは、modelが配置されるディレクトリ階層のルートであることに注意してください。これらのルート パスが $LOAD_PATH にある限り、すべてのサブディレクトリを指定する必要はありません。
103 104 105 106 107 108 109 |
# ファイル 'lib/mongoid/loadable.rb', 行103 デフォルト model_paths @model_paths ||= 場合 定義済み?(Rails) Rails.アプリケーション.config.path['app/models']. else DEFAULT_MODEL_PATHS end end |
model_paths= (パス) ====================================================
指定されたパスの配列へのmodelパスを設定します。これらは、アプリケーションのmodel定義が配置されるパスです。
123 124 125 |
# ファイル 'lib/mongoid/loadable.rb', 行123 デフォルト model_paths=(path) @model_paths = path end |