Ruby
Twibot: Et mikrorammeverk for Twitter-bots i Ruby
Idag slapp jeg Ruby-gemen Twibot. Twibot er et mikrorammeverk for å lage Twitter-boter, med et sexy DSL ala Sinatras. Sjekk ut gjennomgangen.
Ruby Wednesday!
I morgen møtes 16+ engasjerte Rubyprogrammerere i Oslo for å prate om Ruby 1.9 og for å kollektivt hacke 1.9-støtte inn i en gem. Er du på østlandet og interesserer deg for Ruby, bli med!
Juicer - pakkeverktøy for CSS og JavaScript
Etter mye somling og litt koding er jeg endelig klar med første versjon av Juicer, mitt kommandolinjeverktøy for å kombinere og minifisere CSS og JavaScript-filer. En slags "kompilator" om du vil - med syntakskontroll for JavaScript, og en del URL-verktøy for CSS-filer. Frontend-ytelse har nettopp blitt enklere! For en grundig gjennomgang av funksjonaliteten refererer jeg til gjennomgang på den engelske delen av bloggen.
Prototyper og properties for Rails
Nylig hadde jeg behov for å kunne konfigurere ActiveRecord-objekter med et system som tillot standardverdier og overstyringer i en slags cascade. Kort tid etter jeg hadde gjort dette leste jeg en artikkel av Steve Yegge som inspirerte meg til en liten refaktorering og samling av koden som en plugin. Resultatet er acts_as_prototype.
Enda litt mer Ruby-templating
Mer alternativ templating for Ruby og Rails: Denne gangen er det snakk om Liquid - et simplere templating-system for Ruby hvis målgruppe er sluttbrukere og "designere".
Validering på skinner
Skjemavalidering på klienten kan gjøre underverker for brukervennligheten av skjemaene dine. Desverre kan det også innføre ikke så hyggelig duplisering av logikk i applikasjonen når (langt på vei) de samme reglene for validering av data gjengis både i domenemodellen og i visningslaget. For dere som bruker Rails er jeg nå igang med en løsning på dette problemet.
Alternativer til Erb igjen
En av de aller første tingene jeg skrev om på cjohansen.no var et alternativ til Erb ("embedded ruby"), DRYML (fra Hobo). I dette innlegget touchet jeg også innom #haml, som jeg nå har oppdaget på nytt.
Bildeopplasting i Rails
Bildeopplasting i Rails er en lek med attachment_fu og andre plugins. Det som ikke er like lekende lett er bildebehandlingsbibliotekene i bunn. Her er noen tips.
Produksjonsmiljø for Rails under Debian Etch
For en tid tilbake satte jeg opp mitt første produksjonsmiljø for Rails på en Debian-maskin fra scratch. Oppskriften er forsåvidt lett, men som alltid dukker det opp noen uforutsette problemer. Følgende er en hinderfri oppskrift for mongrel cluster + Apache 2.2 under Debian Etch.
Enhetstesting av private metoder i Ruby
Enhetstesting av private metoder lar seg ikke gjøre helt uten videre, ettersom de per definisjon ikke er kjørbare utenfor klassen som testes. Takket være Rubys dynamikk er dette null problem med en liten hjelpe-metode.
Monitorering av /proc/user_beancounters
Virtuelle serverinstanser under
OpenVZ har sine ressursbegrensninger, og informasjon om hvordan ressursene fordeles og benyttes kan hentes fra /proc/user_beancounters. Disse tallene bør monitoreres jevnlig for å sikre stabilitet og oppetid. Her er et script som gjør det for deg.
Dynamisk instansiering av objekter i Ruby
I Ruby, som i mange andre språk er det mulig å instansiere et objekt uten å vite på forhånd hvilken klasse det skal instansieres fra. Faktisk er det lekende lett å gjøre det.
Kopiere filer mellom svn-arbeidskopier
Å flytte en mappestruktur fra en
Subversion-arbeidskopi ("
working copy") til en annen kan fort by på hodebry fordi .svn-filer og -mapper kolliderer. Lei av dette som jeg er har jeg skrevet et script som "kopierer seg rundt".
Oppdatering: Testdata/Utvikling/Rails
Etter å ha brukt rake-oppgaven som beskrevet i
Testdata under utvikling i Rails samtidig som pågående prosjekt har vokst har jeg støtt på et lite problem med den. Her er fiksen.
Testdata under utvikling i Rails
For å få et riktig bilde av applikasjonen i levende live mens man utvikler er det nødvendig med en viss mengde testdata. Følgende er to måter å "så" data i utviklings-basen.
Rails er en Ghetto
Godt nyttår! 2008 tegner til å bli et spennende år for oss webutviklere. Zed Shaw, mannen bak den Ruby-baserte serveren Mongrel starter ihvertfall relativt friskt med et stort "FUCK YOU" til hele Rails-communityet.
Rails i Subversion
Å putte prosjekter i Subversion (svn) er både praktisk når man er alene, og en nødvendighet når man er flere. Når flere jobber på samme kodebase, eller når man jobber mot samme kodebase på forskjellige plasser kan det fort oppstå noen problemer. Disse problemene er i hovedsak knyttet til to ting; utviklingsmiljøet er forskjellig på forskjellige maskiner, og noen filer ønsker man rett og slett ikke å ha versjonskontroll på.
Er ikke Erb bra nok?
Det er tydeligvis flere enn meg som har Erb templates som sin minste favoritt-del av Rails. Da jeg først satte meg inn i Rails var jeg veldig oppstemt og gira over hvor lett og rent og pent det hele så ut, helt til jeg satt meg inn i malene. Jeg har alltid fått litt mark av “scriptlets”, enten det er jsp scriptlets, en helt vanlig html/php miks eller en eRB template - selv med Rails helpers. Men jeg har vendt meg til det. Så kom jeg over Hobo (takk til Thor Fredrik Eie).
Ruby on Rails i norge
Ved en ren tilfeldighet dumpet jeg borti en norsk Ruby/Rails-gruppe forrige uke. Ser ut til at de er en liten gjeng dedikerte folk som koder Ruby i arbeidstiden, som lærer seg Ruby eller som på et eller annet vis er interesserte i Ruby. Siden jeg også er en kar som er interessert i Ruby og Rails har jeg også meldt meg på. Gutta arrangerer jevnlige møter der de diskuterer Ruby, presenterer løsninger og har kode-workshops.