Skip to content

Instantly share code, notes, and snippets.

@novohispano
Created March 4, 2015 18:20
Show Gist options
  • Save novohispano/0b91eadf4df3e03b1208 to your computer and use it in GitHub Desktop.
Save novohispano/0b91eadf4df3e03b1208 to your computer and use it in GitHub Desktop.
class Seed
def initialize
generate_users
generate_items
generate_orders
end
def generate_users
50.times do |i|
user = User.create!(
name: Faker::Name.name,
email: Faker::Internet.email
)
puts "User #{i}: #{user.name} - #{user.email} created!"
end
end
def generate_items
500.times do |i|
item = Item.create!(
name: Faker::Commerce.product_name,
description: Faker::Lorem.paragraph,
image_url: "http://robohash.org/#{i}.png?set=set1&size=200x200"
)
puts "Item #{i}: #{item.name} created!"
end
end
def generate_orders
100.times do |i|
user = User.find(Random.new.rand(1..50))
order = Order.create!(user_id: user.id)
add_items(order)
puts "Order #{i}: Order for #{user.name} created!"
end
end
private
def add_items(order)
10.times do |i|
item = Item.find(Random.new.rand(1..500))
order.items << item
puts "#{i}: Added item #{item.name} to order #{order.id}."
end
end
end
Seed.new
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment