From 9d7afbf84f113564199e7f02ba0630ebf418356b Mon Sep 17 00:00:00 2001 From: John Hobbs Date: Fri, 1 Jul 2016 14:24:11 -0500 Subject: [PATCH] Raise a Thor::Error if pow can't be reached. To let `powder status` return a non-zero exit code. --- bin/powder | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/powder b/bin/powder index 4a47472..6edc8f1 100755 --- a/bin/powder +++ b/bin/powder @@ -34,6 +34,10 @@ module Powder POW_DAEMON_PLIST_PATH="#{ENV['HOME']}/Library/LaunchAgents/cx.pow.powd.plist" POW_FIREWALL_PLIST_PATH = "/Library/LaunchDaemons/cx.pow.firewall.plist" + def self.exit_on_failure? + true + end + desc "env", "Pass an arbitrary environment variable to pow" def env(key = nil, value = nil) if key.nil? @@ -333,7 +337,7 @@ module Powder def status http_port = ":" + configured_pow_http_port.to_s results = %x{curl --silent -H host:pow 127.0.0.1#{http_port}/status.json}.gsub(':','=>') - return say("Error: Cannot get Pow status. Pow may be down. Try 'powder up' first.") if results.empty? || !(results =~ /^\{/) + raise(Thor::Error, "Error: Cannot get Pow status. Pow may be down. Try 'powder up' first.") if results.empty? || !(results =~ /^\{/) json = eval results json.each {|k,v| say "#{k.ljust(12, ' ')} #{v}"} end