class UserAgent::Version
def initialize(str)
def initialize(str) @str = str if @str =~ /^\s*$/ @nil = true @sequences = [] @comparable = false elsif str =~ /^\d+$/ || str =~ /^\d+\./ @nil = false @sequences = str.scan(/\d+|[A-Za-z][0-9A-Za-z-]*$/).map { |s| s =~ /^\d+$/ ? s.to_i : s } @comparable = true else @nil = false @sequences = [str] @comparable = false end end