반응형
모듈에서 사용 가능한 클래스 찾기
모듈이 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
"class Foo; end"와 같은 것을 포함 한다고 말해야한다 .
또한 다음과 같이 생각할 수 있습니다. Rails에서 ActiveRecord 모듈 내에 정의 된 모든 클래스를 프로그래밍 방식으로 어떻게 찾을 수 있습니까?
상수를 통해 클래스에 액세스합니다. 모듈 내에 정의 된 클래스는 해당 모듈에서 상수로 나열됩니다. 따라서 클래스를 참조하는 상수를 선택하기 만하면됩니다.
MyModule.constants.select {|c| MyModule.const_get(c).is_a? Class}
참고 URL : https://stackoverflow.com/questions/833125/find-classes-available-in-a-module
반응형
'Programing' 카테고리의 다른 글
프로토콜은 Self 또는 AssociatedType 요구 사항이 있으므로 일반 제약 조건으로 만 사용할 수 있습니다. (0) | 2020.11.05 |
---|---|
Angular2 RC5 : '자식 구성 요소'의 알려진 속성이 아니므로 '속성 X'에 바인딩 할 수 없습니다. (0) | 2020.11.05 |
bash에서 n 번째 위치 인수를 얻는 방법은 무엇입니까? (0) | 2020.11.05 |
CPU 사용량은 어떻게 계산됩니까? (0) | 2020.11.05 |
Content-disposition을 사용하여 파일을 하드 드라이브에 강제로 다운로드하는 방법은 무엇입니까? (0) | 2020.11.05 |