aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/bottle_version.rb
blob: 615980d839275fa6026f4d1aed851686692a965e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class BottleVersion < Version
  def self._parse spec
    spec = Pathname.new(spec) unless spec.is_a? Pathname
    stem = spec.stem

    # e.g. perforce-2013.1.610569-x86_64.mountain_lion.bottle.tar.gz
    m = /-([\d\.]+-x86(_64)?)/.match(stem)
    return m.captures.first unless m.nil?

    # e.g. x264-r2197.4.mavericks.bottle.tar.gz
    m = /(r\d+\.\d)/.match(stem)
    return m.captures.first unless m.nil?

    # e.g. ssh-copy-id-6.2p2.mountain_lion.bottle.tar.gz
    # e.g. icu4c-52.1.mountain_lion.bottle.tar.gz
    m = /(\d+\.(\d)+(p(\d)+)?)/.match(stem)
    return m.captures.first unless m.nil?

    super
  end
end