class SitemapCheck
Constants
- VERSION
Attributes
exit_code[RW]
logger[RW]
sitemaps[RW]
start_time[RW]
Public Class Methods
check(url)
click to toggle source
# File lib/sitemap_check.rb, line 9 def self.check(url) $stdout.sync = true new(url).check end
new(check_url)
click to toggle source
# File lib/sitemap_check.rb, line 14 def initialize(check_url) self.start_time = Time.now self.exit_code = 0 check_url = check_url puts "Expanding Sitemaps from #{check_url}" self.sitemaps = Sitemap.new(check_url).sitemaps Typhoeus::Config.user_agent = "SitemapCheckbot/#{VERSION} (+https://github.com/reevoo/sitemap_check)" end
Public Instance Methods
check()
click to toggle source
# File lib/sitemap_check.rb, line 23 def check check_indexes check_pages stats exit exit_code end
Private Instance Methods
a_ok(sitemap)
click to toggle source
# File lib/sitemap_check.rb, line 89 def a_ok(sitemap) puts " checked #{sitemap.checked} pages and everything was ok".green.bold end
check_indexes()
click to toggle source
# File lib/sitemap_check.rb, line 53 def check_indexes sitemaps.reject(&:exists?).each do |sitemap| puts " #{sitemap.url} does not exist".red.bold self.exit_code = 1 end puts "" end
check_pages()
click to toggle source
# File lib/sitemap_check.rb, line 65 def check_pages good_sitemaps.each { |sitemap| check_pages_in(sitemap) } end
check_pages_in(sitemap)
click to toggle source
# File lib/sitemap_check.rb, line 69 def check_pages_in(sitemap) puts "Checking #{sitemap.url}" sitemap.check_pages if sitemap.missing_pages.any? missing_pages(sitemap) else if sitemap.checked > 0 a_ok(sitemap) else nothing_doing end end puts "" end
checked_pages()
click to toggle source
# File lib/sitemap_check.rb, line 49 def checked_pages sitemaps.map(&:checked).reduce(&:+) end
good_sitemaps()
click to toggle source
# File lib/sitemap_check.rb, line 61 def good_sitemaps sitemaps.select(&:exists?) end
missing_pages(sitemap)
click to toggle source
# File lib/sitemap_check.rb, line 84 def missing_pages(sitemap) self.exit_code = 1 puts " checked #{sitemap.checked} pages and #{sitemap.missing_pages.count} were missing".red.bold end
nothing_doing()
click to toggle source
# File lib/sitemap_check.rb, line 93 def nothing_doing puts " this sitemap did not contain any pages".green end
pages_per_second()
click to toggle source
# File lib/sitemap_check.rb, line 41 def pages_per_second checked_pages / time_taken end
stats()
click to toggle source
# File lib/sitemap_check.rb, line 36 def stats puts "checked #{sitemaps.count} sitemaps and #{checked_pages} pages in #{time_taken} seconds" puts "thats #{pages_per_second} pages per second" end
time_taken()
click to toggle source
# File lib/sitemap_check.rb, line 45 def time_taken Time.now - start_time end