-
Notifications
You must be signed in to change notification settings - Fork 0
k3rni/pizzaworld
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= Pizzaworld Klient posiada sieć pizzerii i potrzebuje aplikacji do zarządzania kartami dań w nich. Każda pizzeria posiada nazwę (unikalną), adres i godziny otwarcia. W każdej pizzerii można serwować różne rodzaje pizzy. Każdy rodzaj pizzy ma swoją nazwę, cenę i listę składników (jako opis). == Założenia Najważniejsze założenie: sieć pizzerii posiada zbiór przepisów (zestawów dodatków) na pizzę, które przypisuje do swoich lokali. Stąd każda pizza ma jedną cenę we wszystkich lokalach, a jej zmiana (jak i innych atrybutów) powoduje zaktualizowanie menu we wszystkich restauracjach, które miały ją w ofercie. Nie jest to jedyne możliwe podejście. Innym, równie dobrym, byłoby założenie że każda restauracja ma zupełnie oddzielne menu. Wówczas mogłoby istnieć wiele pizz o tej samej nazwie i tym samym składzie, ale o różnej cenie, każda przypisana do innego lokalu. Modyfikacja czy dodanie nowej pizzy do każdego lokalu należałoby robić osobno. A można zrobić jeszcze lepiej. Na bazie obecnego schematu dodać w tabeli łączącej pizzas_restaurants pole ceny, stworzyć join model, i użyć relacji has_many :through. Wtedy mamy jedno i drugie - zmiany w przepisie od razu aktualizują menu we wszystkich restauracjach, ale ceny sa ustalane per lokal. = Uruchamianie Wymagania: ruby 1.9.2, bundler, zainstalowany pakiet sqlite3-dev (do zbudowania niezbędnego gema) Z linii poleceń po kolei: $ git clone http://github.com/k3rni/pizzaworld $ cd pizzaworld $ bundle install $ rake db:setup db:seed $ rails server = Testy Ze względu na prostotę modeli (które nie zawierają żadnych nietrywialnych metod), nie ma do nich unittestów (gdyby były, to testowałyby ActiveRecord, a nie aplikację). Dodatkowych kilka testów jest za to w testach funkcjonalnych, sprawdzają one zachowanie się akcji create i update w obliczu powtórzonych danych.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published