From 4216da7629c21be66e8cf609fdfbf133b1e6bc6f Mon Sep 17 00:00:00 2001 From: William Ma Date: Wed, 29 Jul 2020 09:14:39 -0400 Subject: [PATCH] deps: Move CaskDependencies to its own file --- Library/Homebrew/cask_dependent.rb | 57 +++++++++++++++++++++++++++++ Library/Homebrew/cmd/deps.rb | 59 +----------------------------- 2 files changed, 58 insertions(+), 58 deletions(-) create mode 100644 Library/Homebrew/cask_dependent.rb diff --git a/Library/Homebrew/cask_dependent.rb b/Library/Homebrew/cask_dependent.rb new file mode 100644 index 0000000000..15b553aa23 --- /dev/null +++ b/Library/Homebrew/cask_dependent.rb @@ -0,0 +1,57 @@ +# An adapter for casks to provide dependency information in a formula-like interface +class CaskDependent + def initialize(cask) + @cask = cask + end + + def name + @cask.token + end + + def full_name + @cask.full_name + end + + def runtime_dependencies + recursive_dependencies + end + + def deps + @deps ||= begin + @cask.depends_on.formula.map do |f| + Dependency.new f + end + end + end + + def requirements + @requirements ||= begin + requirements = [] + dsl_reqs = @cask.depends_on + + dsl_reqs.arch&.each do |arch| + requirements << ArchRequirement.new([:x86_64]) if arch[:bits] == 64 + requirements << ArchRequirement.new([arch[:type]]) + end + dsl_reqs.cask.each do |cask_ref| + requirements << Requirement.new([{ cask: cask_ref }]) + end + requirements << dsl_reqs.macos if dsl_reqs.macos + requirements << X11Requirement.new if dsl_reqs.x11 + + requirements + end + end + + def recursive_dependencies(&block) + Dependency.expand(self, &block) + end + + def recursive_requirements(&block) + Requirement.expand(self, &block) + end + + def any_version_installed? + @cask.installed? + end +end diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 65cac3f797..1f67439108 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -115,7 +115,7 @@ module Homebrew if formula_or_cask.is_a?(Formula) formula_or_cask else - Dependent.new(formula_or_cask) + CaskDependent.new(formula_or_cask) end end end @@ -229,61 +229,4 @@ module Homebrew @dep_stack.pop end - - class Dependent - def initialize(cask) - @cask = cask - end - - def name - @cask.token - end - - def full_name - @cask.full_name - end - - def runtime_dependencies - recursive_dependencies - end - - def deps - @deps ||= begin - @cask.depends_on.formula.map do |f| - Dependency.new f - end - end - end - - def requirements - @requirements ||= begin - requirements = [] - dsl_reqs = @cask.depends_on - - dsl_reqs.arch&.each do |arch| - requirements << ArchRequirement.new([:x86_64]) if arch[:bits] == 64 - requirements << ArchRequirement.new([arch[:type]]) - end - dsl_reqs.cask.each do |cask_ref| - requirements << Requirement.new([{ cask: cask_ref }]) - end - requirements << dsl_reqs.macos if dsl_reqs.macos - requirements << X11Requirement.new if dsl_reqs.x11 - - requirements - end - end - - def recursive_dependencies(&block) - Dependency.expand(self, &block) - end - - def recursive_requirements(&block) - Requirement.expand(self, &block) - end - - def any_version_installed? - @cask.installed? - end - end end