Sha256: 98e2e113fbef258a40aa23813d72f6349c957abbdf783dbd5e91cdc2cd0b7c06

Contents?: true

Size: 1.05 KB

Versions: 18

Compression:

Stored size: 1.05 KB

Contents

require 'nokogiri'

class Nokogiri::HTML::Document
  # Returns an array of lower-cased <meta name="ROBOTS"> tokens.  If
  # no tag is found, returns an empty array.  An optional
  # +custom_name+ specifies the name of a meta tag to look for ahead
  # of "ROBOTS".  Names are compared in a case-insensitive manner.
  def meta_robots(custom_name = nil)
    (@meta_robots ||= {})[custom_name] =
      (custom_name && parse_meta_robots(custom_name)) || parse_meta_robots('robots')
  end

  # Equivalent to meta_robots(custom_name).include?('noindex').
  def noindex?(custom_name = nil)
    meta_robots(custom_name).include?('noindex')
  end

  # Equivalent to meta_robots(custom_name).include?('nofollow').
  def nofollow?(custom_name = nil)
    meta_robots(custom_name).include?('nofollow')
  end

  private

  def parse_meta_robots(custom_name)
    pattern = /\A#{Regexp.quote(custom_name)}\z/i
    meta = css('meta[@name]').find { |element|
      element['name'].match(pattern)
    } and content = meta['content'] or return []
    content.downcase.split(/[,\s]+/)
  end
end

Version data entries

18 entries across 18 versions & 4 rubygems

Version Path
husc-0.2.1 vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/nokogiri.rb
husc-0.2.0 vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/nokogiri.rb
husc-0.1.1 vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/nokogiri.rb
husc-0.1.0 vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/nokogiri.rb
webrobots-0.1.2 lib/webrobots/nokogiri.rb
webrobots-0.1.1 lib/webrobots/nokogiri.rb
webrobots-0.1.0 lib/webrobots/nokogiri.rb
frameworks-capybara-0.2.0.rc6 vendor/bundle/ruby/1.8/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
frameworks-capybara-0.2.0.rc5 vendor/bundle/ruby/1.8/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
frameworks-capybara-0.2.0.rc4 vendor/bundle/ruby/1.8/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
frameworks-capybara-0.2.0.rc3 vendor/bundle/ruby/1.8/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
frameworks-capybara-0.2.0.rc2 vendor/bundle/ruby/1.8/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
domo-0.0.5 vendor/bundle/ruby/1.9.1/gems/webrobots-0.0.13/lib/webrobots/nokogiri.rb
webrobots-0.0.13 lib/webrobots/nokogiri.rb
webrobots-0.0.12 lib/webrobots/nokogiri.rb
webrobots-0.0.11 lib/webrobots/nokogiri.rb
webrobots-0.0.10 lib/webrobots/nokogiri.rb
webrobots-0.0.9 lib/webrobots/nokogiri.rb