Skip to content

Instantly share code, notes, and snippets.

@scottdavis
Created March 17, 2010 15:24
Show Gist options
  • Save scottdavis/335351 to your computer and use it in GitHub Desktop.
Save scottdavis/335351 to your computer and use it in GitHub Desktop.
class MenuLoader
CUP = 'Cup'
BOWL = 'Bowl'
CATEGORIES = ["Appitizers", "Soups", "Salads", "Burgers", "Sandwiches & Submarines", "Seafood Favorites", "Chicken Sandwiches", "Beverages", "Kids"]
def self.appetizers
menu = self.create_menu("Appitizers") do |menu|
menu.menu_items << self.menu_item('Hot Crab Dip') do |mi|
mi.prices << self.price('9.95', 'w/ Homemade chips')
mi.prices << self.price('10.95', 'w/ Bread')
end
menu.menu_items << self.menu_item("Ott's Famous Buffalo Wings") do |mi|
mi.prices << self.price('7.95', 'Hot or Mild')
end
menu.menu_items << self.menu_item("Chicken Breast Strips") do |mi|
mi.prices << self.price('5.50')
mi.prices << self.price('6.00', 'Dipped in Hot or Mild Sauce')
end
menu.menu_items << self.menu_item("Mozzarella Sticks") do |mi|
mi.prices << self.price('5.25')
end
menu.menu_items << self.menu_item("Jalapeno Poppers") do |mi|
mi.prices << self.price('5.25')
end
menu.menu_items << self.menu_item("Variety Combo") do |mi|
mi.prices << self.price('6.95', 'Mozzarella Sticks, Poppers and Chicken Strips - No Substitutes')
end
menu.menu_items << self.menu_item("Fried Mushrooms with Ranch") do |mi|
mi.prices << self.price('4.25')
end
menu.menu_items << self.menu_item("Celery & Ranch Dressing") do |mi|
mi.prices << self.price('1.50')
end
menu.menu_items << self.menu_item("Shrimp Basket") do |mi|
mi.prices << self.price('3.95')
end
menu.menu_items << self.menu_item("Nachos") do |mi|
mi.prices << self.price('7.95', 'topped with Chilli, Cheese, Lettuce, Tomatoes, Sour Cream & salsa served on the side')
end
end
menu.save!
menu
end
def self.soups
menu = self.create_menu('Soups') do |menu|
menu.menu_items << self.menu_item("Soup of the Day") do |mi|
mi.prices << price('2.75', CUP)
mi.prices << price('3.75', BOWL)
end
menu.menu_items << self.menu_item("Maryland Crab") do |mi|
mi.prices << price('2.95', CUP)
mi.prices << price('3.95', BOWL)
end
menu.menu_items << self.menu_item("Chili") do |mi|
mi.prices << price('2.95', CUP)
mi.prices << price('3.95', BOWL)
end
menu.menu_items << self.menu_item("French Onion") do |mi|
mi.prices << price('2.75', CUP)
mi.prices << price('3.75', BOWL)
end
menu.menu_items << self.menu_item("Clam Chowder") do |mi|
mi.prices << price('3.25', CUP)
mi.prices << price('4.25', BOWL)
end
end
menu.save!
menu
end
def self.salads
menu = self.create_menu('Salads') do |menu|
menu.menu_items << self.menu_item("Garden Salad") do |mi|
mi.prices << price('3.00')
end
menu.menu_items << self.menu_item("Caesar Salad") do |mi|
mi.prices << price('3.75', 'Small')
mi.prices << price('4.75', 'Large')
mi.prices << price('5.75', 'Small Chicken')
mi.prices << price('6.75', 'Large Chicken')
end
menu.menu_items << self.menu_item("Shrimp Salad") do |mi|
mi.prices << price('7.25', 'On a Bed of Lettuce')
end
menu.menu_items << self.menu_item("Tuna Salad") do |mi|
mi.prices << price('4.25', 'On a Bed of Lettuce')
end
menu.menu_items << self.menu_item("Sassy Chicken Salad") do |mi|
mi.prices << price('7.50', "with Ott's Honey Mustard")
end
menu.menu_items << self.menu_item("Buffalo Chicken Salad") do |mi|
mi.prices << price('7.50', "with Blue Cheese")
end
menu.menu_items << self.menu_item("Crispy Chicken Salad") do |mi|
mi.prices << price('7.50', "Drizzled in Mild Sauce")
end
menu.menu_items << self.menu_item("Chef Salad") do |mi|
mi.prices << price('7.50')
end
end
menu.save!
menu
end
def self.burgers
menu = self.create_menu("Burgers") do |menu|
menu.menu_items << self.menu_item("Emmitsburger") do |mi|
mi.prices << price('4.25', '/w Bacon, Mushrooms, Chedder Cheese & Gravy')
end
menu.menu_items << self.menu_item("Ott's Chili Burger") do |mi|
mi.prices << price('4.25', 'w/ Chili, Provolone & Onion')
end
menu.menu_items << self.menu_item("Mushroom Swiss Burger") do |mi|
mi.prices << price('4.25', 'Mushrooms, Swiss Cheese & Gravy')
end
menu.menu_items << self.menu_item("Bacon Cheese Burger") do |mi|
mi.prices << price('4.00')
end
menu.menu_items << self.menu_item("The Original Burger") do |mi|
mi.prices << price('3.50', 'Available w/ or without Cheese - American, Swiss, Chedder or Provolone Cheese')
mi.prices << price('4.50', '6 Inch Sub')
end
end
menu.save!
menu
end
def self.sandwiches_submarines
menu = self.create_menu("Sandwitches & Submarines") do |menu|
menu.menu_items << self.menu_item("Hot Roast beef or Turkey") do |mi|
mi.prices << price('6.95', 'Smothered in Gravy w/ Fries')
end
end
end
private
def self.create_menu(title, &block)
menu = Menu.new(:title => title)
yield menu
menu
end
def self.menu_item(item, &block)
mi = MenuItem.new(:item => item)
yield mi
mi
end
def self.price(price, description = nil)
MenuPrice.new(:price => price, :description => description)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment