Class: UserAgentParser::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/user_agent_parser/version.rb

Constant Summary collapse

SEGMENTS_REGEX =

Private: Regex used to split version string into major, minor, patch, and patch_minor.

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ Version

Returns a new instance of Version.



11
12
13
# File 'lib/user_agent_parser/version.rb', line 11

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

Instance Attribute Details

#versionObject (readonly) Also known as: to_s

Returns the value of attribute version.



8
9
10
# File 'lib/user_agent_parser/version.rb', line 8

def version
  @version
end

Instance Method Details

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


35
36
37
38
# File 'lib/user_agent_parser/version.rb', line 35

def eql?(other)
  self.class.eql?(other.class) &&
    version == other.version
end

#inspectObject



31
32
33
# File 'lib/user_agent_parser/version.rb', line 31

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

#majorObject



15
16
17
# File 'lib/user_agent_parser/version.rb', line 15

def major
  segments[0]
end

#minorObject



19
20
21
# File 'lib/user_agent_parser/version.rb', line 19

def minor
  segments[1]
end

#patchObject



23
24
25
# File 'lib/user_agent_parser/version.rb', line 23

def patch
  segments[2]
end

#patch_minorObject



27
28
29
# File 'lib/user_agent_parser/version.rb', line 27

def patch_minor
  segments[3]
end

#segmentsObject

Private



43
44
45
# File 'lib/user_agent_parser/version.rb', line 43

def segments
  @segments ||= version.scan(SEGMENTS_REGEX)
end