diff options
| author | Markus Reiter | 2017-09-11 23:29:38 +0200 |
|---|---|---|
| committer | Markus Reiter | 2017-09-12 01:25:14 +0200 |
| commit | 76cb1462d45e4be8b37354bfea2187bf23dcf124 (patch) | |
| tree | 21b91016679dd563819ffde61e7559eacdf9cf7f | |
| parent | f3ec40d696b421e89f462d32f6f30a81f60d3e73 (diff) | |
| download | brew-76cb1462d45e4be8b37354bfea2187bf23dcf124.tar.bz2 | |
Fix uninstall with `:signal`.
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb b/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb index 2ce4f399d..badd549ce 100644 --- a/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb +++ b/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb @@ -28,6 +28,7 @@ module Hbc def initialize(cask, directives) super(cask) + directives[:signal] = [*directives[:signal]].flatten.each_slice(2).to_a @directives = directives end @@ -35,6 +36,10 @@ module Hbc directives.to_h end + def summarize + to_h.map { |key, val| [*val].map { |v| "#{key.inspect} => #{v.inspect}" }.join(", ") }.join(", ") + end + private def dispatch_uninstall_directives(**options) @@ -122,15 +127,15 @@ module Hbc end # :signal should come after :quit so it can be used as a backup when :quit fails - def uninstall_signal(*signals, **options) - signals.flatten.each_slice(2) do |pair| + def uninstall_signal(*signals, command: nil, **_) + signals.each do |pair| unless pair.size == 2 raise CaskInvalidError.new(cask, "Each #{stanza} :signal must consist of 2 elements.") end signal, bundle_id = pair ohai "Signalling '#{signal}' to application ID '#{bundle_id}'" - pids = running_processes(bundle_id, **options).map(&:first) + pids = running_processes(bundle_id, command: command).map(&:first) next unless pids.any? # Note that unlike :quit, signals are sent from the current user (not # upgraded to the superuser). This is a todo item for the future, but |
