db/samples/assets.rb in solidus_sample-3.2.9 vs db/samples/assets.rb in solidus_sample-3.3.0

- old
+ new

@@ -1,7 +1,10 @@ # frozen_string_literal: true +require 'thor' +shell = Thor::Base.shell.new + Spree::Sample.load_sample("products") Spree::Sample.load_sample("variants") products = {} products[:solidus_tshirt] = Spree::Product.includes(variants: [:option_values]).find_by!(name: "Solidus T-Shirt") @@ -15,11 +18,11 @@ products[:solidus_mug] = Spree::Product.find_by!(name: "Solidus Mug") products[:ruby_mug] = Spree::Product.find_by!(name: "Ruby Mug") products[:solidus_tote] = Spree::Product.find_by!(name: "Solidus Tote") products[:ruby_tote] = Spree::Product.find_by!(name: "Ruby Tote") -def image(name, type = "jpg") +image = ->(name, type = "jpg") do images_path = Pathname.new(File.dirname(__FILE__)) + "images" path = images_path + "#{name}.#{type}" return false if !File.exist?(path) @@ -27,97 +30,97 @@ end images = { products[:solidus_snapback_cap].master => [ { - attachment: image("solidus_snapback_cap") + attachment: image["solidus_snapback_cap"] } ], products[:solidus_hoodie].master => [ { - attachment: image("solidus_hoodie") + attachment: image["solidus_hoodie"] } ], products[:ruby_hoodie].master => [ { - attachment: image("ruby_hoodie") + attachment: image["ruby_hoodie"] } ], products[:ruby_hoodie_zip].master => [ { - attachment: image("ruby_hoodie_zip") + attachment: image["ruby_hoodie_zip"] } ], products[:ruby_polo].master => [ { - attachment: image("ruby_polo") + attachment: image["ruby_polo"] }, { - attachment: image("ruby_polo_back") + attachment: image["ruby_polo_back"] } ], products[:solidus_mug].master => [ { - attachment: image("solidus_mug") + attachment: image["solidus_mug"] } ], products[:ruby_mug].master => [ { - attachment: image("ruby_mug") + attachment: image["ruby_mug"] } ], products[:solidus_tote].master => [ { - attachment: image("tote_bag_solidus") + attachment: image["tote_bag_solidus"] } ], products[:ruby_tote].master => [ { - attachment: image("tote_bag_ruby") + attachment: image["tote_bag_ruby"] } ] } products[:solidus_tshirt].variants.each do |variant| - color = variant.option_value("tshirt-color").downcase - main_image = image("solidus_tshirt_#{color}", "png") + color = variant.option_value("clothing-color").downcase + main_image = image["solidus_tshirt_#{color}", "png"] File.open(main_image) do |f| variant.images.create!(attachment: f) end - back_image = image("solidus_tshirt_back_#{color}", "png") + back_image = image["solidus_tshirt_back_#{color}", "png"] next unless back_image File.open(back_image) do |f| variant.images.create!(attachment: f) end end products[:solidus_long].variants.each do |variant| - color = variant.option_value("tshirt-color").downcase - main_image = image("solidus_long_#{color}", "png") + color = variant.option_value("clothing-color").downcase + main_image = image["solidus_long_#{color}", "png"] File.open(main_image) do |f| variant.images.create!(attachment: f) end - back_image = image("solidus_long_back_#{color}", "png") + back_image = image["solidus_long_back_#{color}", "png"] next unless back_image File.open(back_image) do |f| variant.images.create!(attachment: f) end end products[:solidus_womens_tshirt].reload.variants.each do |variant| - color = variant.option_value("tshirt-color").downcase - main_image = image("solidus_womens_tshirt_#{color}", "png") + color = variant.option_value("clothing-color").downcase + main_image = image["solidus_womens_tshirt_#{color}", "png"] File.open(main_image) do |f| variant.images.create!(attachment: f) end end images.each do |variant, attachments| - puts "Loading images for #{variant.product.name}" + shell.say_status :sample, "images for #{variant.product.name}" attachments.each do |attachment| File.open(attachment[:attachment]) do |f| variant.images.create!(attachment: f) end end