モジュールで利用可能なクラスを検索する
2023-09-09 20:34:11
質問
私は、モジュール
MyModule
. 私はそこにクラスを動的にロードします。どのように私はその名前空間内で定義されたクラスのリストを取得することができますか?
例を挙げます。
def load_plugins
Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f|
MyModule.class_eval File.read(f)
end
# now how can I find the new classes I've loaded into MyModule?
end
というのは、それぞれの
f
は "クラス Foo; end" のようなものを含んでいます。
Railsで、ActiveRecordモジュール内で定義されているすべてのクラスをプログラム的に見つけるにはどうしたらよいでしょうか。
どのように解決するのか?
クラスは定数でアクセスします。あるモジュール内で定義されたクラスは、そのモジュール内の定数としてリストアップされます。そのため、クラスを参照する定数を選択すればよいのです。
MyModule.constants.select {|c| MyModule.const_get(c).is_a? Class}
関連
-
[解決済み】Rubyモジュールをインクルードせずに、そのインスタンスメソッドを呼び出すことはできますか?
-
[解決済み】RubyにあってPythonにないもの、またその逆は何ですか?
-
[解決済み] Rubyの理想的なプロジェクト構造
-
[解決済み] ハッシュの配列をハッシュの値でソートするにはどうしたらいいですか?
-
[解決済み] Rubyでコンソールから入力を読み込む?
-
[解決済み] Herokuの基本的なアプリのロードに2秒かかるのはなぜですか?
-
[解決済み] ルビー、!オペレーター(a/k/a ダブルバン)[重複]|日本郵船
-
[解決済み] ファイルに新しい行を追加しますか?
-
[解決済み] バージョン要件におけるティルデグレータン(~>)の意味?
-
[解決済み] WindowsへのRubyGemsのインストール
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] rvm use 2.0.0 --default を実行すると、"Warning! PATH is not properly set up" と表示される。
-
[解決済み] rubyのClassとKlassの違いは何ですか?
-
[解決済み] ruby システムコマンドの終了コードチェック
-
[解決済み] RubyでDateTimeの時間部分を設定する
-
[解決済み] Capybaraで要素の正確なテキストをマッチングして要素を見つける方法
-
[解決済み] Hash.new([]などのHashのデフォルト値を使用すると、予期せぬ動作(値が消える/変わる)が発生します。)
-
[解決済み] 文字列内の複数の空白と改行を削除する
-
[解決済み] ランダムなブール値を返す最良の方法
-
[解決済み] Rubyの基本的なプロジェクトはどのように設定するのですか?
-
[解決済み] Rubyです。変数を文字列にマージする