Skip to content

Instantly share code, notes, and snippets.

@novohispano
Last active August 29, 2015 14:28
Show Gist options
  • Save novohispano/610e81e0acb44c3ced17 to your computer and use it in GitHub Desktop.
Save novohispano/610e81e0acb44c3ced17 to your computer and use it in GitHub Desktop.
Seed file data.
class Seed
def self.start
seed = Seed.new
seed.generate_users
seed.generate_items
seed.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=set2&bgset=bg1&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.start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment