Un jour, une gem

07/07/2012

Samedi c'est Coast

gem install coast

Un DSL pour vos controllers

Vous cherchez une solution de remplacement pour inherited_resources ? Et bien voici Coast :

  • Très léger (200 lignes de codes)
  • Non-obtrusif
  • Support pour tous les formats de réponses (html, json, etc.)
  • Un DSL

Pour vous donner une idée :

class BeachBumsController < ApplicationController
  # Hop on a les actions : new, edit, index, show, create, update, destroy 
  include Coast

  before :show do
    # Au lieu de laisser Coast faire le boulot on charge une BeachBurn soi-même 
    @resourceful_item = BeachBum.find(params[:id])

    # La gem a aussi généré de manière implicite une variable @beach_bum qui fait référence à @resourceful_item
  end

  respond_to :show do
    # On change le rendu de la page
    render :text => "Out surfing."
  end

  after :show do
    # On fait des trucs de dernière minute après que tout soit fait 
    flash[:notice] = "Sorry brah... we'll be back when the surf stops crackin'"
  end

end

Et voilà ! C’est tout pour aujourd’hui :)

Le lien utile