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