Zarządzanie rzeczami "przydatnymi"

Podczas naszej przygody z RoR często napotykamy przydatne gemy (niektóre chcielibyśmy używać w każdym projekcie), snippety/helpery, pluginy.
Przy zakładaniu nowego projektu trzeba pamiętać o wielu wielu rzeczach: doinstalowac pluginy, sprawdzić obecność gemów, dopisac kilka(naście) linijek do różnych plików typu env.rb, zainicjować haml, przygotować cucumbera/celerity. Dość dużo rzeczy do spamiętania.

Co robicie aby to zautomatyzować?

Do stawiania środowiska developerskiego/testowego przygotowuję sobie mój RoRDevToolkit (wymaga uaktualnienia ze względu na to, ze rails 2.3.4 wymaga rubygems 1.3.2, którego nie ma w ubuntu :wink: - znalazłem rozwiązanie, kolejny bookmark zostanie zamieniony w skrypt). Taki zestaw moze być na tyle ogólny, by używac go w wielu projektach i przez wielu programistów.

Co jednak z inicjowaniem projektu? Każdy ma swój ulubiony zestaw, nie każdy zna te wszystkie “super” dodatki.
Jak wy to realizujecie? generatory? Własne skrypty shellowe?

No są templates, i sobie możesz szkielet aplikacji stworzyć. Gemy w conf/environment.rb dopisujesz i instalujesz przez “rake gems:install”… mi starcza, z resztą - nie zakładasz nowego projektu co dziennie :slight_smile:

Na start instaluję hamla oraz shouldę i to wystarcza. Cała reszta narasta z dodawaniem funkcjonalności. Potrzeba obrazków, instaluje się paperclipa, potrzeba logowania, instaluje się authlogica. Kiedyś też myślałem, żeby sobie taki szkielet przygotować, ale obecnie uważam to za stratę czasu. Wynika to pewnie z tego, że pracuję po kilka miesięcy nad jednym projektem, więc gdy zaczynam nowy, to połowa gemów ma już nowsze wersje i więcej czasu zajmuje mi zmiana istniejącej konfiguracji niż dodanie tego co potrzebuję. Zresztą uważam, że tu po prostu przydaje się zasada: YAGNI (“You aren’t gonna need it”).

Polecam lekturę tego bloga: http://m.onkey.org/2008/12/4/rails-templates, oraz screencast http://railscasts.com/episodes/148-app-templates-in-rails-2-3