Rubin på räls i Stockholm

Ingen dansmaskin idag, då jag efter ett tips från Magnus ägnade hela kvällen åt ett Railsmöte, anordnat av Peter Marklund. Vi blev lite fler än väntat, ca 20 st, till förra mötet kom tydligen bara 3. Det var allt från nybörjare till de som enbart jobbat med Ruby on Rails sedan det släpptes. Jag är väl egentligen nybörjare, då jag aldrig har gjort någonting med det, men följt utvecklingen av projektet från och till i princip sedan starten.

Peter inledde med ett föredrag om testdriven utveckling. Även om jag påstår mig veta vad det innebär, så gör jag det nog inte i alla fall, för jag programmerar oftast inte på det sättet, tyvärr. Jag känner till de flesta verktyg och hur de fungerar, men det blir sällan att man använder dem fullt ut. Jag har inte riktigt hängt med i Rails de senaste månaderna så jag kände faktiskt inte till Integration Testing, som kom i Rails 1.1. Det var väldigt trevligt. Till skillnad från enhetstestning på en låg nivå, eller program som bara tolkar och interagerar med webbsidor, kan man göra testskript som simulerar dispatchanrop så att det alltså får samma effekt som om någon anropade en url, men även titta under huven hur de påverkar koden. Allt kapslas in i mindre enheter, och vips har du fått ett domänspecifikt testspråk för din webbapplikation.

Marcus Ahnve berättade hur man undviker repetition i sina modeller med hjälp av ett filter som hette ScopedAccess. Det hela påminde om aspektorienterad programmering. Det vanliga sättet att undvika kodrepetition är att skapa en funktion och anropa den istället. Koden blir lite renare, men du anropar ändå den där funktionen överallt. Skriv koden på ett ställe och låt sedan en annan kodsnutt mata in den överallt. Lite läskigt för vissa, kanske förvirrande för andra, men gör koden ren och fin och enklare att underhålla.

Nic Williams, som var mycket rolig att lyssna till, körde live-demo och satte upp en simpel applikation med hjälp av Ajaxscaffold, som är ungefär som de vanliga scaffoldingskripten till Rails, fast lite coolare, det är ju trots allt Ajax. Har man problem som löses med simpla tabeller, så är det helt klart värt att använda. Det går väldigt fort och ser inte så tokigt ut. Dr Nic recommends Ajaxscaffold, it’s good for you!

Martin Kihlgren avslutade med ett föredrag om hur Polly kan äta kakan samtidigt som hon behåller den. I vissa utvecklingsmiljöer stöter man ibland på problem då vissa saker bara inte går att göra som man vill och man måste helt enkelt strunta i att använda massa trevlig och skriva om allt själv, eller strunta i viss funktionalitet. Martin visade hur han hade byggt ut Rails, framförallt ActiveRecord, med plugins, alltså utan att behöva patcha ActiveRecord själv, för att lägga till den funktionalitet han behövde. Det var lite krångligt, men det går att göra.

Det hela var väldigt trevligt. Nästa möte är antagligen någon gång i juni och jag ska försöka gå då också. Kanske hinner läsa boken Rails Recipes tills dess.

Leave a Reply