brew/Library/Homebrew/cask/lib/hbc/source/tapped_qualified.rb

27 lines
648 B
Ruby
Raw Normal View History

2016-08-18 22:11:42 +03:00
require "hbc/source/tapped"
2016-09-24 13:52:43 +02:00
module Hbc
module Source
class TappedQualified < Tapped
def self.me?(query)
return if (tap = tap_for_query(query)).nil?
2016-09-24 13:52:43 +02:00
tap.installed? && path_for_query(query).exist?
end
2016-09-24 13:52:43 +02:00
def self.tap_for_query(query)
qualified_token = QualifiedToken.parse(query)
return if qualified_token.nil?
2016-09-24 13:52:43 +02:00
user, repo = qualified_token[0..1]
Tap.fetch(user, repo)
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
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
2016-08-18 22:11:42 +03:00
end
end