Sha256: ada99bb7c37209c901486f9a818786abc46b624df306005d2bc4e777e66261ff

Contents?: true

Size: 1.43 KB

Versions: 25

Compression:

Stored size: 1.43 KB

Contents

require 'csv'

Spree::Sample.load_sample('taxonomies')

CHILDREN_TAXON_NAMES = CSV.read(File.join(__dir__, 'variants.csv')).map do |(parent_name, taxon_name, _product_name, _color_name)|
  [parent_name, taxon_name]
end.uniq

TAXON_NAMES = CHILDREN_TAXON_NAMES.map { |(parent_name, taxon_name)| parent_name }

categories = Spree::Taxonomy.find_by!(name: I18n.t('spree.taxonomy_categories_name'))
categories_taxon = Spree::Taxon.where(name: I18n.t('spree.taxonomy_categories_name')).first_or_create!

TAXON_NAMES.each do |taxon_name|
  taxon = categories_taxon.children.where(name: taxon_name).first_or_create!
  taxon.permalink = taxon.permalink.gsub('categories/', '')
  taxon.taxonomy = categories
  taxon.save!
end

CHILDREN_TAXON_NAMES.each do |(parent_name, taxon_name)|
  parent = Spree::Taxon.where(name: parent_name).first
  taxon = parent.children.where(name: taxon_name).first_or_create!
  taxon.permalink = taxon.permalink.gsub('categories/', '')
  taxon.taxonomy = categories
  taxon.save!
end

taxon = categories_taxon.children.where(name: 'New', permalink: 'newest').first_or_create!
taxon.permalink = taxon.permalink.gsub('categories/', '')
taxon.taxonomy = categories
taxon.save!

['Bestsellers', 'Trending', 'Streetstyle', 'Summer Sale'].each do |taxon_name|
  taxon = categories_taxon.children.where(name: taxon_name).first_or_create!
  taxon.permalink = taxon.permalink.gsub('categories/', '')
  taxon.taxonomy = categories
  taxon.save!
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
spree_sample-4.1.15 db/samples/taxons.rb
spree_sample-4.1.14 db/samples/taxons.rb
spree_sample-4.1.13.1 db/samples/taxons.rb
spree_sample-4.2.0.rc4 db/samples/taxons.rb
spree_sample-4.2.0.rc3 db/samples/taxons.rb
spree_sample-4.1.13 db/samples/taxons.rb
spree_sample-4.2.0.rc2 db/samples/taxons.rb
spree_sample-4.1.12 db/samples/taxons.rb
spree_sample-4.2.0.rc1 db/samples/taxons.rb
spree_sample-4.1.11 db/samples/taxons.rb
spree_sample-4.1.10 db/samples/taxons.rb
spree_sample-4.2.0.beta db/samples/taxons.rb
spree_sample-4.1.9 db/samples/taxons.rb
spree_sample-4.1.8 db/samples/taxons.rb
spree_sample-4.1.7 db/samples/taxons.rb
spree_sample-4.1.6 db/samples/taxons.rb
spree_sample-4.1.5 db/samples/taxons.rb
spree_sample-4.1.4 db/samples/taxons.rb
spree_sample-4.1.3 db/samples/taxons.rb
spree_sample-4.1.2 db/samples/taxons.rb