Merge pull request #8355 from SMillerDev/fix/cask_list/artifacts
cask/list: fix artifact list
This commit is contained in:
commit
19ef932885
@ -1,5 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "cask/artifact/relocated"
|
||||||
|
|
||||||
module Cask
|
module Cask
|
||||||
class Cmd
|
class Cmd
|
||||||
class List < AbstractCommand
|
class List < AbstractCommand
|
||||||
@ -48,17 +50,23 @@ module Cask
|
|||||||
elsif versions
|
elsif versions
|
||||||
puts output.map(&method(:format_versioned))
|
puts output.map(&method(:format_versioned))
|
||||||
elsif !output.empty? && casks.any?
|
elsif !output.empty? && casks.any?
|
||||||
puts output.map(&method(:list_artifacts))
|
output.map(&method(:list_artifacts))
|
||||||
elsif !output.empty?
|
elsif !output.empty?
|
||||||
puts Formatter.columns(output.map(&:to_s))
|
puts Formatter.columns(output.map(&:to_s))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.list_artifacts(cask)
|
def self.list_artifacts(cask)
|
||||||
cask.artifacts.group_by(&:class).each do |klass, artifacts|
|
cask.artifacts.group_by(&:class).sort_by { |klass, _| klass.english_name }.each do |klass, artifacts|
|
||||||
next unless klass.respond_to?(:english_description)
|
next if [Artifact::Uninstall, Artifact::Zap].include? klass
|
||||||
|
|
||||||
return "==> #{klass.english_description}", artifacts.map(&:summarize_installed)
|
ohai klass.english_name
|
||||||
|
artifacts.each do |artifact|
|
||||||
|
puts artifact.summarize_installed if artifact.respond_to?(:summarize_installed)
|
||||||
|
next if artifact.respond_to?(:summarize_installed)
|
||||||
|
|
||||||
|
puts artifact
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -126,9 +126,9 @@ describe Cask::Cmd::List, :cask do
|
|||||||
expect {
|
expect {
|
||||||
described_class.run("local-transmission", "local-caffeine")
|
described_class.run("local-transmission", "local-caffeine")
|
||||||
}.to output(<<~EOS).to_stdout
|
}.to output(<<~EOS).to_stdout
|
||||||
==> Apps
|
==> App
|
||||||
#{transmission.config.appdir.join("Transmission.app")} (#{transmission.config.appdir.join("Transmission.app").abv})
|
#{transmission.config.appdir.join("Transmission.app")} (#{transmission.config.appdir.join("Transmission.app").abv})
|
||||||
==> Apps
|
==> App
|
||||||
Missing App: #{caffeine.config.appdir.join("Caffeine.app")}
|
Missing App: #{caffeine.config.appdir.join("Caffeine.app")}
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user