diff options
| author | Josh Hagins | 2016-10-24 10:38:02 -0400 |
|---|---|---|
| committer | GitHub | 2016-10-24 10:38:02 -0400 |
| commit | 3f3fa4d0f7d5c28598fb7a2495d01efa35c7f7a2 (patch) | |
| tree | 9c5c67ecb24d00c8911700dc0ab43ef434bd4a56 /Library/Homebrew/cask/lib | |
| parent | b481ed73a079ea6abecf18529d61eea87e85d058 (diff) | |
| parent | b2870c2480744aa7d202c4975e3169b05035f7ed (diff) | |
| download | brew-3f3fa4d0f7d5c28598fb7a2495d01efa35c7f7a2.tar.bz2 | |
Merge pull request #1334 from jawshooah/cask/fix-tap-regex
hbc/qualified_token: simplify token parsing
Diffstat (limited to 'Library/Homebrew/cask/lib')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/qualified_token.rb | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/qualified_token.rb b/Library/Homebrew/cask/lib/hbc/qualified_token.rb index 8868bd65d..09eedef1b 100644 --- a/Library/Homebrew/cask/lib/hbc/qualified_token.rb +++ b/Library/Homebrew/cask/lib/hbc/qualified_token.rb @@ -1,37 +1,9 @@ module Hbc module QualifiedToken - REPO_PREFIX = "homebrew-".freeze - - # per https://github.com/Homebrew/homebrew/blob/4c7bc9ec3bca729c898ee347b6135ba692ee0274/Library/Homebrew/cmd/tap.rb#L121 - USER_REGEX = /[a-z0-9_\-]+/ - - # per https://github.com/Homebrew/homebrew/blob/4c7bc9ec3bca729c898ee347b6135ba692ee0274/Library/Homebrew/cmd/tap.rb#L121 - REPO_REGEX = /(?:#{REPO_PREFIX})?\w+/ - - # per https://github.com/caskroom/homebrew-cask/blob/master/CONTRIBUTING.md#generating-a-token-for-the-cask - TOKEN_REGEX = /[a-z0-9\-]+/ - - TAP_REGEX = %r{#{USER_REGEX}[/\-]#{REPO_REGEX}} - - QUALIFIED_TOKEN_REGEX = %r{#{TAP_REGEX}/#{TOKEN_REGEX}} - def self.parse(arg) - return nil unless arg.is_a?(String) && arg.downcase =~ /^#{QUALIFIED_TOKEN_REGEX}$/ - path_elements = arg.downcase.split("/") - if path_elements.count == 2 - # eg phinze-cask/google-chrome. - # Not certain this form is needed, but it was supported in the past. - token = path_elements[1] - dash_elements = path_elements[0].split("-") - repo = dash_elements.pop - dash_elements.pop if dash_elements.count > 1 && dash_elements[-1] + "-" == REPO_PREFIX - user = dash_elements.join("-") - else - # eg caskroom/cask/google-chrome - # per https://github.com/Homebrew/brew/blob/master/docs/brew-tap.md - user, repo, token = path_elements - end - repo.sub!(/^#{REPO_PREFIX}/, "") + return nil unless arg.is_a?(String) + return nil unless match = arg.downcase.match(HOMEBREW_TAP_CASK_REGEX) + user, repo, token = match.captures odebug "[user, repo, token] might be [#{user}, #{repo}, #{token}]" [user, repo, token] end |
