Omstilling vha Ruby

På det projekt jeg sidder på i øjeblikket har vi en vagtordning, hvor folk skiftes til at have omstillet en telefon til sig.

Det gøres manuelt ved at man, når man har vagten, logger ind på en tdc-side og ‘tager vagttelefonen’ ved at indtaste sit eget telefonnummer i forwarding feltet.

Vagtplanen distribueres pr mail og på en projekt-wiki.

Der er så mange irritationsmomenter ved det, at jeg greb ned i værktøjskassen og fandt ruby-skruenøglen frem.

På et par timer blev der skrevet 49 linjer ruby, der hver morgen kl. 6:00

  1. læser vagtplanen fra en google-kalender, registreret som initialer der er dagsarrangementer
  2. finder telefonnummeret til dagens vagt i en lokal yml-fil
  3. logger på TDCs omstillingsbord og skifter telefonen over.

Nu kan alle abonnere på vagtplanen i deres egen google kalender eller bare klikke sig ind på den offentlige URL fra wikien.

Damn, det var snildt.

– Brugte Mechanize til automatisering og et ruby-api til googlecalendar

PS: view source for the faint of heart

5 kommentarer til “Omstilling vha Ruby”

  1. Morgan Roderick siger:

    Nifty!

    Mechnize ser da ret sjovt ud, det kan man sikkert lave sig mange små genveje med :-)

  2. dalager siger:

    Ja, mechanize er ret snildt til den slags - men i det hele taget er ruby et lækkert sprog til at lave den slags glue-ware med. Jeg bruger det ofte til små system-automatiseringer, parsing af opskure filformater og hvad jeg nu støder på af udfordringer.

  3. Kristian siger:

    Ret vildt at så relativt få linjers kode kan gøre alt dette. Jeg er selv gået igang med RoR for nylig, og er allerede ret begejstret.

  4. dalager siger:

    Nu er antallet af kodelinjer i dette tilfælde ikke kun et udtryk for at ruby er et sprog der kan gøre ting kort og enkelt, men primært at der er en masse let tilgængelige ruby-pakker som man kan bruge løs af.

    Men ja, det er da herligt !

  5. Morgan Roderick siger:

    Jeps, ganske herligt :-)

    Meget stor tilfredshed ved at lave simple, elegante løsninger der løser folks, eller egen, problemer.

Skriv en kommentar