Skip to content

Instantly share code, notes, and snippets.

@stevepentler
Last active February 2, 2016 19:43
Show Gist options
  • Save stevepentler/e202f098ab6a15fbf3e8 to your computer and use it in GitHub Desktop.
Save stevepentler/e202f098ab6a15fbf3e8 to your computer and use it in GitHub Desktop.
class Seed
def self.start
seed = Seed.new
seed.generate_users
seed.generate_items
seed.generate_orders
end
def generate_users
5.times do |i|
User.create(name: Faker::Name.name, email: Faker::Internet.email)
puts "Created user number #{i}"
end
end
def generate_items
10.times do |i|
Item.create(
name: Faker::Commerce.product_name,
description: Faker::Lorem.paragraph,
image_url: "http://robohash.org/#{i}.png?set=set2&bgset=bg1&size=200x200)"
end
end
def generate_orders
10.times do |i|
user = User.offset(rand(User.count)).first
order = user.orders.create!
puts "Created Order #{order.id}"
add_items(order)
end
end
def add_items(order)
3.times do |i|
item = Item.offset(rand(Item.count)).first #offset from ActiveRecord
order.items << item
end
end
end
~~~~~~~~~~~~~~
Or
~~~~~~~~~~~~~~~
class Seed
def self.start
seed = Seed.new
seed.generate_users
self.generate_admins
seed.generate_orders
end
def generate_users
5.times do |i|
User.create(name: Faker::Name.name, email: Faker::Internet.email)
puts "Created user number #{i}"
end
end
def generate_admins
admin_credentials = [
name: "Josh", email: "josh@example.com"},
name: "Tess", email: "Tess@example.com"},
name: "Lovisa", email: "lovisa@example.com"}
]
User.create(admin_credentials)
end
def generate_orders
10.times do |i|
order = Order.create do |order|
order.user = User.offset(rand(User.count)).first
order.items = [random_item, random_item, random_item]
end
puts "Created Order #{order.id}"
end
end
def random_item
Item.offset(rand(Item.count)).first
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment