Skip to content

Instantly share code, notes, and snippets.

@mkllnk
Last active April 8, 2020 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkllnk/557c928d8cabc2f109442556bb02b901 to your computer and use it in GitHub Desktop.
Save mkllnk/557c928d8cabc2f109442556bb02b901 to your computer and use it in GitHub Desktop.
enterprise = Enterprise.find_by_permalink("bawbawfoodhub")
scoper = OpenFoodNetwork::ScopeVariantToHub.new(enterprise)
#producer,distributor,name,display_name,variant_unit_name,sku,units,unit_type,price,on_hand,on_demand
data = enterprise.inventory_items.visible.map do |item|
variant = item.variant
scoper.scope(variant) if variant
product = variant&.product
{
producer: product&.supplier&.name,
distributor: enterprise&.name,
product_name: product&.name,
display_name: variant&.display_name,
variant_unit_name: product&.variant_unit_name,
sku: variant&.sku || product&.sku,
unit_size: product&.group_buy_unit_size,
price: variant&.price,
on_hand: variant&.total_on_hand,
on_demand: variant&.on_demand,
}
end.select { |row| row[:product_name].present? }
CSV.open("inventory.csv", "wb") do |csv|
csv << data.first.keys
data.each { |row| csv << row.values }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment