brew/Library/Homebrew/cask/lib/hbc/source/tapped_qualified.rb
2016-09-24 16:00:58 +02:00

27 lines
648 B
Ruby

require "hbc/source/tapped"
module Hbc
module Source
class TappedQualified < Tapped
def self.me?(query)
return if (tap = tap_for_query(query)).nil?
tap.installed? && path_for_query(query).exist?
end
def self.tap_for_query(query)
qualified_token = QualifiedToken.parse(query)
return if qualified_token.nil?
user, repo = qualified_token[0..1]
Tap.fetch(user, repo)
end
def self.path_for_query(query)
user, repo, token = QualifiedToken.parse(query)
Tap.fetch(user, repo).cask_dir.join(token.sub(%r{(\.rb)?$}i, ".rb"))
end
end
end
end