2013-06-18 10 views

Odpowiedz

1

Można odczytać $LOADED_FEATURES i sprawdzić, czy ścieżka pochodzi z gem, czy nie, co oznacza, że ​​są badania, czy funkcja należy do instalacji podstawowej lub nie.

# return true if library is an external gem 
$LOADED_FEATURES.grep(/library/).grep(/gems/).size > 0 
+0

Myślę, że to działa. Testowałem to również. Ale jestem rozczarowany, że nie ma gdzieś metadanych, a zamiast tego łapię za słowem kluczowym w ścieżce systemu plików. No cóż. – DragonFax

1

Po tym, jak require znalazł załadowany plik biblioteki, dodaje pełną ścieżkę do tego pliku do tablicy $LOADED_FEATURES. Więc może wyglądać w tej tablicy, aby zobaczyć, gdzie stwierdzono blah

$LOADED_FEATURES.find_all { |path| puts path if /blah/ =~ path } 
+0

'$ LOADED_FEATURES.select {| ścieżka | path.include? ("CO ZNALEŹĆ")} 'działa dobrze w tym przypadku, zwraca tablicę i możesz jej użyć w dowolny sposób. – vgoff

Powiązane problemy