diff --git a/lib/solidus_sitemap/solidus_defaults.rb b/lib/solidus_sitemap/solidus_defaults.rb index a61035d..d88ccde 100644 --- a/lib/solidus_sitemap/solidus_defaults.rb +++ b/lib/solidus_sitemap/solidus_defaults.rb @@ -47,17 +47,21 @@ def add_product(product, options = {}) end def add_pages(options = {}) - # TODO: this should be refactored to add_pages & add_page - Spree::Page.active.each do |page| - add(page.path, options.merge(lastmod: page.updated_at)) + add_page(page, options.merge(attr: :path)) end if gem_available? 'spree_essential_cms' Spree::Page.visible.each do |page| - add(page.slug, options.merge(lastmod: page.updated_at)) + add_page(page, options.merge(attr: :slug)) end if gem_available? 'spree_static_content' end + def add_page(page, options = {}) + opts = options.merge(lastmod: page.updated_at) + attr = opts.delete(:attr) + add(page.send(attr), opts) + end + def add_taxons(options = {}) Spree::Taxon.roots.each { |taxon| add_taxon(taxon, options) } end diff --git a/spec/lib/solidus_sitemap/solidus_defaults_spec.rb b/spec/lib/solidus_sitemap/solidus_defaults_spec.rb index 1a1fc95..a512bcd 100644 --- a/spec/lib/solidus_sitemap/solidus_defaults_spec.rb +++ b/spec/lib/solidus_sitemap/solidus_defaults_spec.rb @@ -79,7 +79,7 @@ def add(url, options) expect(subject.entries).to include("/products") end - it "includes avilable products" do + it "includes available products" do subject.add_products expect(subject.entries).to include("/products/#{available.slug}")