2012-10-17 2 views
16

Ich habe ein Modul in einer Datei namens my_mod.rb wie folgt erklärt:Wie kann ich eine Methode in einem Modul von der Rails-Konsole ausführen?

module Reports 
    module MyMod 

    def mymethod 
     ... 
    end 

    end 
end 

Ich will nur mymethod laufen. Es ist keine Klassenmethode offensichtlich, also kann ich es nicht gerne laufen:

Reports::MyMod.mymethod 

und doch ich habe gehofft, dass es eine Möglichkeit war, das Verfahren durch den Parser ausgewertet zu erhalten, ohne durch ein Bündel von module_eval gehen und module_function Zeug. Es sollte einfacher sein als das, oder?

Antwort

24

Um es von der Schienen-Konsole ausführen Sie es einfach schließen müssen:

> include Reports::MyMod 
> mymethod 
+3

Winner! Deine Lösung ist besser als meine; Ich habe etwas Neues gelernt. – gregates

1
class A 
    include Reports::MyMod 
end 

A.new.mymethod 
Verwandte Themen