class DynamicSitemaps::Pinger

Public Class Methods

ping(url) click to toggle source
# File lib/dynamic_sitemaps/pinger.rb, line 26
def ping(url)
  Logger.info "Pinging #{url} ..."
  begin
    Net::HTTP.get(URI.parse(url))
  rescue Exception => e
    Logger.warn "Failed to ping #{url} : #{e}"
  end
end
ping_for_environment?(env) click to toggle source
# File lib/dynamic_sitemaps/pinger.rb, line 35
def ping_for_environment?(env)
  DynamicSitemaps.ping_environments.map(&:to_s).include?(env.to_s)
end
ping_search_engines_with(sitemap_urls) click to toggle source
# File lib/dynamic_sitemaps/pinger.rb, line 4
def ping_search_engines_with(sitemap_urls)
  sitemap_urls = [sitemap_urls] unless sitemap_urls.is_a?(Array)

  if sitemap_urls.any? && ping_for_environment?(Rails.env)
    Logger.info "Pinging search engines..."

    sitemap_urls.each do |url|
      ping_search_engines_with_sitemap_url url
    end

    Logger.info "Done pinging search engines."
  end
end
ping_search_engines_with_sitemap_url(sitemap_url) click to toggle source
# File lib/dynamic_sitemaps/pinger.rb, line 18
def ping_search_engines_with_sitemap_url(sitemap_url)
  sitemap_url = CGI::escape(sitemap_url)
  DynamicSitemaps.search_engine_ping_urls.each do |ping_url|
    url = ping_url % sitemap_url
    ping url
  end
end