class Nokogiri::HTML::Document

Public Instance Methods

meta_robots(custom_name = nil) click to toggle source

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.

# File lib/webrobots/nokogiri.rb, line 8
def meta_robots(custom_name = nil)
  (@meta_robots ||= {})[custom_name] =
    (custom_name && parse_meta_robots(custom_name)) || parse_meta_robots('robots')
end
nofollow?(custom_name = nil) click to toggle source

Equivalent to #meta_robots(custom_name).include?('nofollow').

# File lib/webrobots/nokogiri.rb, line 19
def nofollow?(custom_name = nil)
  meta_robots(custom_name).include?('nofollow')
end
noindex?(custom_name = nil) click to toggle source

Equivalent to #meta_robots(custom_name).include?('noindex').

# File lib/webrobots/nokogiri.rb, line 14
def noindex?(custom_name = nil)
  meta_robots(custom_name).include?('noindex')
end

Private Instance Methods

parse_meta_robots(custom_name) click to toggle source
# File lib/webrobots/nokogiri.rb, line 25
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