Ich bin neu in Thor (und Ruby) und ich überlege, es in einem Build-Skript zu verwenden, da es gesagt wird, dass es ein Ersatz für Rake (also zu machen). Allerdings bin ich nach einem kurzen Versuch verwirrt über den Fehlerstatus, den es zurückgibt. Ich bin schnell durch das Wiki gegangen, habe aber nichts davon erwähnt.Ruby/Thor Exit-Status im Fehlerfall
Mit nur dem ersten "Einfachen Beispiel", test.thor
:
class Test < Thor
desc "example", "an example task"
def example
puts "I'm a thor task!"
end
end
Version #:
eruve>thor version
Thor 0.18.1
Ich hat versucht, den folgenden, ein fehlerhafter Befehl Zweck:
eruve>ruby --version; thor test:example badarg; echo exit status: $?
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin10.8.0]
ERROR: thor example was called with arguments ["badarg"]
Usage: "thor test:example".
exit status: 0
Es gab also einen Fehler, aber es wird trotzdem mit dem Status 0 beendet ... was bedeutet, dass ich es lieber nicht in einem (n on-ruby) Skript, andernfalls würde das Skript weiter ausgeführt, obwohl es beendet werden sollte. Nachfolgende Fehler können schwierig zu analysieren sein.
Ich muss etwas fehlen, daher meine Fragen:
Gibt es einen einfachen Weg, um einen Nicht-Null-Status standardmäßig im Falle eines Fehlers (config-Datei, etc.) zu bekommen?
Wenn nicht, was soll ich tun, um es richtig zu machen?
Vielen Dank.
+1 weil es zu einem Hack führte (siehe meine Antwort), obwohl das nicht direkt verwendbar ist, insbesondere als eine Lösung außerhalb von Ruby. – eruve