Skip to content

Instantly share code, notes, and snippets.

@scottdavis
Created February 26, 2010 05:04
Show Gist options
  • Save scottdavis/315429 to your computer and use it in GitHub Desktop.
Save scottdavis/315429 to your computer and use it in GitHub Desktop.
#factories file
require 'factory_girl'
#Menus
Factory.define :appitizers, :class => Menu do |f|
f.title "Appitizers"
end
Factory.define :entries, :class => Menu do |f|
f.title "Entries"
end
Factory.define :specials, :class => Menu do |f|
f.title "Specials"
end
#Menu Items
Factory.define :cheeseburger, :class => MenuItem do |f|
f.association :menu, :factory => :entries
f.item "Cheeseburger"
f.price "11.99"
f.description "A Big Rich Jucy American Cheese Burger"
end
Factory.define :hamburger, :class => MenuItem do |f|
f.association :menu, :factory => :entries
f.item "Cheeseburger"
f.price "10.99"
f.description "A Big Fattie 1/3 pound Hamburger"
end
Factory.define :soups, :class => MenuItem do |f|
f.association :menu, :factory => :appitizers
f.item "Soups"
f.price "3.00"
f.description "maryland crab, chili, cream of crab"
end
Factory.define :wings, :class => MenuItem do |f|
f.association :menu, :factory => :entries
f.item "Chicken Wings"
f.price "12.99"
f.description "MMM CHICKEN WINGS!"
end
Factory.define :ribs, :class => MenuItem do |f|
f.association :menu, :factory => :specials
f.price "22.99"
f.description "BABBYBACK RIBS!"
end
Factory.define :tacos, :class => MenuItem do |f|
f.association :menu, :factory => :specials
f.price '5.99'
f.description 'TACOS!'
end
#LOADER FILE
require 'factories'
class FactoryLoader
def self.up
self.create_menus
self.create_menu_items
end
def self.down
[MenuItem, Menu].each do |model|
model.delete_all
end
end
def self.create_menus
[:appitizers, :specials, :entries].each do |menu|
Factory.create(menu)
end
end
def self.create_menu_items
[:hamburger, :cheeseburger, :tacos, :soups, :ribs, :wings].each do |item|
Factory.create(item)
end
end
end
## what im getting in the console when i run FactoryLoader.up
[#<Menu id: 45, title: "Appitizers", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 46, title: "Specials", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 47, title: "Entries", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 48, title: "Entries", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 49, title: "Entries", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 50, title: "Specials", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 51, title: "Appitizers", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 52, title: "Specials", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">, #<Menu id: 53, title: "Entries", created_at: "2010-02-26 05:03:17", updated_at: "2010-02-26 05:03:17">]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment