Merge pull request #8290 from MLH-Fellowship/integrate-list-2

list: Replace Cask::Cmd with class method
This commit is contained in:
Markus Reiter 2020-08-11 03:44:25 +02:00 committed by GitHub
commit b447f57e36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 20 deletions

View File

@ -31,28 +31,37 @@ module Cask
end end
def run def run
output = args.any? ? provided_list : Caskroom.casks self.class.list_casks(
*casks,
if json? json: json?,
puts JSON.generate(output.map(&:to_h)) one: one?,
elsif one? full_name: full_name?,
puts output.map(&:to_s) versions: versions?,
elsif full_name? )
puts output.map(&:full_name).sort(&tap_and_name_comparison)
elsif versions?
puts output.map(&self.class.method(:format_versioned))
elsif !output.empty? && args.any?
puts output.map(&self.class.method(:list_artifacts))
elsif !output.empty?
puts Formatter.columns(output.map(&:to_s))
end
end end
def provided_list def self.list_casks(*casks, json: false, one: false, full_name: false, versions: false)
output = if casks.any?
casks.each do |cask| casks.each do |cask|
raise CaskNotInstalledError, cask unless cask.installed? raise CaskNotInstalledError, cask unless cask.installed?
end end
casks else
Caskroom.casks
end
if json
puts JSON.generate(output.map(&:to_h))
elsif one
puts output.map(&:to_s)
elsif full_name
puts output.map(&:full_name).sort(&tap_and_name_comparison)
elsif versions
puts output.map(&method(:format_versioned))
elsif !output.empty? && casks.any?
puts output.map(&method(:list_artifacts))
elsif !output.empty?
puts Formatter.columns(output.map(&:to_s))
end
end end
def self.list_artifacts(cask) def self.list_artifacts(cask)

View File

@ -168,11 +168,12 @@ module Homebrew
end end
def list_casks(args:) def list_casks(args:)
cask_list = Cask::Cmd::List.new args.named Cask::Cmd::List.list_casks(
cask_list.one = args.public_send(:'1?') *args.loaded_casks,
cask_list.versions = args.versions? one: args.public_send(:'1?'),
cask_list.full_name = args.full_name? full_name: args.full_name?,
cask_list.run versions: args.versions?,
)
end end
end end