Skip to content

Commit

Permalink
cask_dumper: use full and short names.
Browse files Browse the repository at this point in the history
Allow either in a `Brewfile` to avoid confusion such as in #506.
  • Loading branch information
MikeMcQuaid committed Jun 19, 2019
1 parent c52329b commit b0aa676
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions lib/bundle/cask_dumper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,28 @@ module CaskDumper
module_function

def reset!
@casks = nil
@full_name_casks = nil
@short_name_casks = nil
end

def casks
@casks ||= if Bundle.cask_installed?
`brew cask list --full-name 2>/dev/null`.split("\n").map { |cask| cask.chomp " (!)" }
else
[]
end
def casks(full_names_only: false)
return [] unless Bundle.cask_installed?

@full_name_casks ||= `brew cask list --full-name 2>/dev/null`.split("\n")
@short_name_casks ||= `brew cask list 2>/dev/null`.split("\n")

casks = @full_name_casks
casks += @short_name_casks unless full_names_only

casks.map { |cask| cask.chomp " (!)" }
.uniq
end

def dump(casks_required_by_formulae)
full_name_casks = casks(full_names_only: true)
[
(casks & casks_required_by_formulae).map { |cask| "cask \"#{cask}\"" }.join("\n"),
(casks - casks_required_by_formulae).map { |cask| "cask \"#{cask}\"" }.join("\n"),
(full_name_casks & casks_required_by_formulae).map { |cask| "cask \"#{cask}\"" }.join("\n"),
(full_name_casks - casks_required_by_formulae).map { |cask| "cask \"#{cask}\"" }.join("\n"),
]
end
end
Expand Down

0 comments on commit b0aa676

Please sign in to comment.