Files
openfoodnetwork/lib/tasks/sample_data/inventory_factory.rb
Luis Ramos e52937c113 Use rubocop auto correct to add frozen string literal to all files
This is an unsafe auto corection, we will need to trust our build here
2021-06-17 23:07:26 +01:00

39 lines
927 B
Ruby

# frozen_string_literal: true
require "tasks/sample_data/logging"
module SampleData
class InventoryFactory
include Logging
def create_samples(products)
log "Creating inventories"
marys_shop = Enterprise.find_by(name: "Mary's Online Shop")
products.each do |product|
create_item(marys_shop, product)
end
end
private
def create_item(shop, product)
InventoryItem.create_with(
enterprise: shop,
variant: product.variants.first,
visible: true
).find_or_create_by!(variant_id: product.variants.first.id)
create_override(shop, product)
end
def create_override(shop, product)
VariantOverride.create_with(
variant: product.variants.first,
hub: shop,
price: 12,
on_demand: false,
count_on_hand: 5
).find_or_create_by!(variant_id: product.variants.first.id)
end
end
end