Ruby
17.01.2007
Willkommen Hobo
Vor ein paar Tagen bin ich über das Rails-Plugin Hobo gestolpert. Hobo verspricht, ein alltagstaugliches Scaffolding zu liefern. Aber kann es das auch wirklich halten? Teilweise. Ich möchte aber zeigen, wieso Hobo trotzdem in meinen Werkzeugkasten kommt:
Hobo basiert auf ein paar generischen Controller- und Modell-Klassen und auf einer Erweiterung für Views die erlaubt, eine eigene XML-Syntax zu benutzen. Vorweg: Die Innovation liegt von mir aus gesehen auf der View-Seite. Zum Beispiel enthält mein Footer:
<div id="footer"><oblique_strategy /></div>
Das Tag 'oblique_strategy' wird mit einer zufälligen Strategie aus den 'oblique strategies' ersetzt. Dieser Code in application_helper.rb ist dafür zuständig:
def_tag :oblique_strategy do
OBLIQUE[rand(OBLIQUE.length)]
end
# List of all original oblique strategies (shortened for presentation).
OBLIQUE = %Q{
(Organic) machinery (1-3)
%%
A line has two sides (1-4)
%%
A very small object-Its centre (2)
%%
Abandon desire (4)
%%
Abandon normal instructions (4)
%%
Take away as much mystery as possible. What is left?(diary 12/30)
}.split(/%%/).collect { |str| str.strip }
Lieber Leser, selbstverständlich konnten wir das schon längst. Das würde etwa so ausgesehen haben:
<%= oblique_strategy %>
Mir gefällt die Tag-Syntax innerhalb meiner Views besser. Und Hobo erlaubt, alten Stil und neuen Stil zu kombinieren; gibt uns damit ein Mittel mehr in die Hand, Wiederholungen auszutrocknen.
Nur Syntax?
Also sprechen wir nur über die Syntax? Ja. Nein:
<%= panel do %>
Mein Panel
<% end) %>
Das wäre mit Rails zum funktionieren zu bringen, ist aber sehr mühsam. Die neue Syntax (Hobo) bringt eine neue Eleganz:
<panel>
Mein Panel
</panel>
Die Definition von 'panel' könnte so aussehen (Achtung, alternative Syntax!):
<def tag="panel">
<div id="panel">
<tagbody />
</div>
</def>
Achtung - Mithelfen
Achtung, Hobo ist noch unreif. In der Entwicklung verhält es sich als stabile Bibliothek, aber ich bin sicher, dass sich die API noch viel ändern wird. Gewisse Dinge sind einfach noch nicht fertig.
Und darum auch dieser Post: Ich möchte alle Rubyisten auffordern, Hobo ein bisschen zu stützen. Gemeinsam können wir damit Rails nochmals produktiver machen.
written by Kaspar Schiess
tagged as cool, ruby, ruby on rails, hobo, plugin, useful, oblique strategy
mehr
Kommentare geschlossen.