Sha256: 3509bdcf3b0270bc06af32604d550307f27158670d088a14230bd400346ba21d

Contents?: true

Size: 899 Bytes

Versions: 7

Compression:

Stored size: 899 Bytes

Contents

module Aua::Agents::SearchBot
  PATTERN_BING = /bingbot\/([\d\.]+)/
  PATTERN_BAIDU = /Baiduspider\/?([\d\.]+)?/
  PATTERN_GOOGLE = /Googlebot(-Mobile)?\/?([\d\.]+)?/
  
  def self.extend?(agent)
    agent.raw =~ PATTERN_BING ||
    agent.app_comments[1] == "Yahoo! Slurp" ||
    agent.raw =~ PATTERN_BAIDU ||
    agent.raw =~ PATTERN_GOOGLE ||
    agent.app == "msnbot"
  end
  
  def type
    :SearchBot
  end
  
  def name
    @name ||= begin
      return :Bingbot if raw =~ PATTERN_BING
      return :YahooSlurp if app_comments[1] == "Yahoo! Slurp"
      return :Baiduspider if raw =~ PATTERN_BAIDU
      return $1 ? :GooglebotMobile : :Googlebot if raw =~ PATTERN_GOOGLE
      app.to_sym
    end
  end
  
  def version
    @version ||= begin
      return $1 if raw =~ PATTERN_BING
      return $1  if raw =~ PATTERN_BAIDU
      return $2  if raw =~ PATTERN_GOOGLE
      super 
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
aua-0.2.2 lib/aua/agents/search_bot.rb
aua-0.2.1 lib/aua/agents/search_bot.rb
aua-0.2.0 lib/aua/agents/search_bot.rb
aua-0.1.3 lib/aua/agents/search_bot.rb
aua-0.1.2 lib/aua/agents/search_bot.rb
aua-0.1.1 lib/aua/agents/search_bot.rb
aua-0.1.0 lib/aua/agents/search_bot.rb