20 lines
700 B
Ruby
20 lines
700 B
Ruby
namespace :supplier do
|
|
task export_menu: :environment do
|
|
supplier_name = ARGV[1]
|
|
raise "Please supply a suppliers' name as argument" unless supplier_name.present?
|
|
supplier = Supplier.find_by_name(supplier_name)
|
|
raise "Cannot find supplier with name #{supplier_name}" unless supplier.present?
|
|
object = supplier.product_categories.sort_by(&:position).map do |pc|
|
|
{ pc.name => pc.products.map{ |product|
|
|
{
|
|
name: product.name.to_s.strip.presence,
|
|
description: product.description.presence,
|
|
price: product.price,
|
|
product_variants: product.product_variants.map(&:name)
|
|
}}
|
|
}
|
|
end
|
|
puts object.to_yaml
|
|
end
|
|
end
|