class HTTPLogAnalyzer::Element::UserAgent

Attributes

browser[RW]
system[RW]

Public Instance Methods

parse(string) click to toggle source
# File lib/http-log-analyzer/element/user_agent.rb, line 10
def parse(string)
  if string != '-'
    user_agent = $user_agent_parser.parse(string)
    @browser = case (family = user_agent.family.strip)
    when nil, 'Other'
      'other'
    else
      family
    end
    @system = case (name = user_agent.os.name.strip)
    when /^Windows\s/
      'Windows'
    when /^Mac OS/i
      'macOS'
    when 'Other', nil
      'other'
    when 'Ubuntu', 'Fedora', 'SUSE'
      'Linux'
    else
      name
    end
  end
end