Merge pull request #940 from reitermarkus/fix-untapped-installation

Fix cask installation from untapped Tap not working.
This commit is contained in:
Markus Reiter 2016-09-14 01:54:52 +02:00 committed by GitHub
commit b1746de260
2 changed files with 16 additions and 7 deletions

View File

@ -2,11 +2,21 @@ require "hbc/source/tapped"
class Hbc::Source::TappedQualified < Hbc::Source::Tapped
def self.me?(query)
!Hbc::QualifiedToken.parse(query).nil? && path_for_query(query).exist?
return if (tap = tap_for_query(query)).nil?
tap.installed? && path_for_query(query).exist?
end
def self.tap_for_query(query)
qualified_token = Hbc::QualifiedToken.parse(query)
return if qualified_token.nil?
user, repo, token = qualified_token
Tap.fetch(user, repo)
end
def self.path_for_query(query)
user, repo, token = Hbc::QualifiedToken.parse(query)
Tap.new(user, repo).cask_dir.join(token.sub(%r{(\.rb)?$}i, ".rb"))
Tap.fetch(user, repo).cask_dir.join(token.sub(%r{(\.rb)?$}i, ".rb"))
end
end

View File

@ -1,11 +1,10 @@
require "hbc/source/tapped_qualified"
class Hbc::Source::UntappedQualified < Hbc::Source::TappedQualified
def self.path_for_query(query)
user, repo, token = Hbc::QualifiedToken.parse(query)
def self.me?(query)
return if (tap = tap_for_query(query)).nil?
tap = Tap.fetch(user, repo)
tap.install unless tap.installed?
tap.cask_dir.join(token.sub(%r{(\.rb)?$}i, ".rb"))
tap.install
tap.installed? && path_for_query(query).exist?
end
end