class UserAgent

def <=>(other)

always return false.
Any comparsion between two user agents with different products will
def <=>(other)
  if @product == other.product
    if @version && other.version
      @version <=> other.version
    else
      0
    end
  else
    false
  end
end