From b15a74ff06397478797305515501c9aac66bfd7c Mon Sep 17 00:00:00 2001 From: Flavio Auciello <flavioauciello@nebulab.it> Date: Fri, 7 Jun 2019 12:43:26 +0200 Subject: [PATCH] Refactor SolidusDefaults#add_pages via #add_page + resolve Todo (the code is taken from an outdated PR https://github.com/solidusio-contrib/solidus_sitemap/pull/10) + fix typo --- lib/solidus_sitemap/solidus_defaults.rb | 12 ++++++++---- spec/lib/solidus_sitemap/solidus_defaults_spec.rb | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) 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}")