Sha256: e4d55aeb2d94fcafb848a6f3b1ca059df0cb26344328db51edc2b110990bbe58

Contents?: true

Size: 926 Bytes

Versions: 6

Compression:

Stored size: 926 Bytes

Contents

module Adminpanel
  module Sitemap
    extend ActiveSupport::Concern
    include Rails.application.routes.url_helpers

    included do
      after_create :ping_engines
      after_update :ping_engines
      after_destroy :ping_engines
    end

  private
    def ping_urls
      {
        google: "http://www.google.com/webmasters/tools/ping?sitemap=%s",
        bing: "http://www.bing.com/webmaster/ping.aspx?siteMap=%s"
      }
    end

    def ping_engines
      logger.info Time.now
      ping_urls.each do |name, url|
        request = url % CGI.escape("#{root_url}/sitemap.xml")
        logger.info root_url
        logger.info "  Pinging #{name} with #{request}"
        if !Rails.env.development?
          response = Net::HTTP.get_response(URI.parse(request))
          logger.info "    #{response.code}: #{response.message}"
          logger.info "    Body: #{response.body}"
        end
      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
adminpanel-2.4.3 app/models/concerns/adminpanel/sitemap.rb
adminpanel-2.4.2 app/models/concerns/adminpanel/sitemap.rb
adminpanel-2.4.1 app/models/concerns/adminpanel/sitemap.rb
adminpanel-2.4.0 app/models/concerns/adminpanel/sitemap.rb
adminpanel-2.3.1 app/models/concerns/adminpanel/sitemap.rb
adminpanel-2.3.0 app/models/concerns/adminpanel/sitemap.rb