Sha256: 2a0a3dedcd2edf6526edbb6d48463c32d5984c922693c68db7f84009886fa795

Contents?: true

Size: 1007 Bytes

Versions: 8

Compression:

Stored size: 1007 Bytes

Contents

require 'acts_as_seoable/sitemap_seo'

module SitemapClassMethods

  def create_sitemap_seo_records
    Rails.application.reload_routes!
    routes = Rails.application.routes.routes.select { |r| r.defaults.include? :sitemap}
    row_routes = Array.new

    routes.each do |route|
      next if route.defaults[:sitemap] != true || route.verb != 'GET'
      
      static = route.defaults[:static] == true
      row = SitemapSeo.find_by_sitemap_controller_and_sitemap_action(route.defaults[:controller], route.defaults[:action])
      if row.nil?
        new_row = SitemapSeo.create(sitemap_controller: route.defaults[:controller], sitemap_action: route.defaults[:action],
                                    status: false, static: static)
        row_routes << new_row
      else
        row.update(static: static)
        row.save
        row_routes << row
      end
    end

    SitemapSeo.all.each do |sitemap_seo|
      next if row_routes.include? sitemap_seo

      sitemap_seo.delete
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fi_seo-0.1.7 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.6 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.5 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.4 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.3 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.2 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.1 lib/acts_as_seoable/helpers/sitemap_helper.rb
fi_seo-0.1.0 lib/acts_as_seoable/helpers/sitemap_helper.rb