Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: ca06fdf2ec
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 38 lines (26 sloc) 0.601 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
module UserAgentParser

  class Version

    SEGMENTS_REGEX = /\d+\-\d+|\d+[a-zA-Z]+$|\d+|[A-Za-z][0-9A-Za-z-]*$/

    attr_accessor :version
    alias :to_s :version

    def initialize(version)
      self.version = version.to_s.strip
    end

    def segments
      version.scan(SEGMENTS_REGEX)
    end

    def [](segment)
      segments[segment]
    end

    def major; self[0] end
    def minor; self[1] end
    def patch; self[2] end
    def patch_minor; self[3] end

    def inspect
      "#<#{self.class} #{to_s}>"
    end

    def ==(other)
      version == other.version
    end

  end

end
Something went wrong with that request. Please try again.