deps: refactor weird OpenStruct usage.

This commit is contained in:
Mike McQuaid 2019-11-06 10:20:20 +00:00
parent 918224ce1a
commit 1224f56511
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -61,53 +61,45 @@ module Homebrew
Formulary.enable_factory_cache!
mode = OpenStruct.new(
installed?: args.installed?,
tree?: args.tree?,
all?: args.all?,
topo_order?: args.n?,
union?: args.union?,
for_each?: args.for_each?,
recursive?: !args.send("1?"),
)
recursive = !args.send("1?")
if mode.tree?
if mode.installed?
puts_deps_tree Formula.installed.sort, mode.recursive?
if args.tree?
if args.installed?
puts_deps_tree Formula.installed.sort, recursive
else
raise FormulaUnspecifiedError if args.remaining.empty?
puts_deps_tree ARGV.formulae, mode.recursive?
puts_deps_tree ARGV.formulae, recursive
end
return
elsif mode.all?
puts_deps Formula.sort, mode.recursive?
elsif args.all?
puts_deps Formula.sort, recursive
return
elsif !args.remaining.empty? && mode.for_each?
puts_deps ARGV.formulae, mode.recursive?
elsif !args.remaining.empty? && args.for_each?
puts_deps ARGV.formulae, recursive
return
end
@only_installed_arg = mode.installed? &&
mode.recursive? &&
@only_installed_arg = args.installed? &&
recursive &&
!args.include_build? &&
!args.include_test? &&
!args.include_optional? &&
!args.skip_recommended?
if args.remaining.empty?
raise FormulaUnspecifiedError unless mode.installed?
raise FormulaUnspecifiedError unless args.installed?
puts_deps Formula.installed.sort, mode.recursive?
puts_deps Formula.installed.sort, recursive
return
end
all_deps = deps_for_formulae(ARGV.formulae, mode.recursive?, &(mode.union? ? :| : :&))
all_deps = deps_for_formulae(ARGV.formulae, recursive, &(args.union? ? :| : :&))
all_deps = condense_requirements(all_deps)
all_deps.select!(&:installed?) if mode.installed?
all_deps.select!(&:installed?) if args.installed?
all_deps.map!(&method(:dep_display_name))
all_deps.uniq!
all_deps.sort! unless mode.topo_order?
all_deps.sort! unless args.n?
puts all_deps
end