aufgegleist – (don’t) believe the hype ?

So nun hat’s mich endgültig gepackt.

Manche Kollegen sind schon total genervt von dem „ruby hype“ am Mittagstisch.
„Ruby hier, rails da – habt Ihr denn kein anderes Thema !?“ Ähmm um ehrlich zu sein: „… nicht wirklich“.

Warum ist das so ?

Seit nun mehr gut einem halben Jahr ist das Thema auch im „new economy amt“ ganz „heiß“.
Auch wenn ich ja eher aus der „Java-Ecke“ komme hat’s mich doch sofort interessiert.
Nun sind schon die ersten /id ruby apps live zum Beispiel:der hostnamr oder dizkiz.com.
Auch ich habe schon seit längerem ein privates Projekt bei dem ich Ruby on Rails einsetzte. Leider
kann das aus Zeitgründen noch nicht live gehen.

Jetzt hatte ich folgende Idee: betreibt man – aus diversen Gründen – einen oder mehrere Server und vermietet man diese,
muss man ab und zu auch Rechnungen stellen.
Wie alle Menschen denke auch ich nicht ständig daran, wem ich den nun wieder eine Rechnung stellen muss.
Die Ruby on Rails – Applikation „domain managr“ übernimmt das aber von nun an für mich.

Alle Domains – ob abrechenbar oder nicht – werden jeden Tag vom domain managr geprüft. Ist die Zeit reif, wird aus den Domain und Kundendaten eine Rechnung im PDF-Format erstellt und per email an den Kunden versandt.

Autopilot. Geplant: Reminder und Integration des PayPal – API.

domain_managr

Technisch gesehen wird aus den Kundendaten erst ein XML-Dokument erstellt, welches dann, zusammen mit einer PDF-Rechnungsvorlage
an ein sehr altes, von mir geschriebenes, Java Tool (nutzt iText) übergeben wird.

Charmant hier die konsequente Einhaltung des MVC Patterns:

Auch das XML-Template ist ein View. Ebenso das Mail-Template.

Mit Hilfe von

module RenderAnywhere
class DummyController
def logger
RAILS_DEFAULT_LOGGER
end
def headers
{}
end
end
def render(options, assigns = {})
viewer = ActionView::Base.new(Rails::Configuration.new.view_path, assigns,DummyController.new)
viewer.render options
end def template_exists?(path, assigns = {})
viewer = ActionView::Base.new(Rails::Configuration.new.view_path, assigns,DummyController.new)
viewer.pick_template_extension(path) rescue false
end
end

Ist es möglich auch außerhalb von Controllern ein View zu rendern:obj = invoice
obj = obj.render :file => 'invoices/xml_template.rhtml',:locals=>{:invoice=>invoice}

reicht aus hat man zu vor im Model ein „include RenderAnywhere“ hinzugefügt.

class Invoice < ActiveRecord::Base include RenderAnywhere belongs_to:account end

Das so erstellte XML-Dokument kann nun an den PdfCreator übergeben werden.

Ruby spielt also auch mit Java. Java aber auch mit Ruby. Die Kollegen nutzen bereits ruby in von ant-tasks um dynamisch Deployment Scripte zu schreiben.

Damit zurück zum Mittagstisch. Der "Hype" hält an. Das Schöne daran ist, das man sehr schnell Erfolge feiern kann.
In kürzester Zeit ist es nun möglich solche "kleinen" Apps zu erstellen.

Klar das man sich auch in der Pause darüber austauschen möchte :)

Obwohl ... Die Pause ist ja eigentlich zum Essen da - Guten Appetit.

... zu diesem Thema kommt sicher noch (viel) mehr.

2 Responses to “aufgegleist – (don’t) believe the hype ?”

  1. 2/5/2007 at 9:17 pm #

    Respektr!

  2. larsomat
    2/5/2007 at 9:52 pm #

    beim lifegang der applikation bitte ein kurzes ping. interesse.

Leave a Reply