Sha256: 6c9450907f33b0b7ca9ee9e15b7bc67068c687f1d77bdd437f3fb5606281c10e
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
# Artdeco [![Build History][2]][1] [1]: http://travis-ci.org/tracksun/artdeco [2]: https://secure.travis-ci.org/tracksun/artdeco.png?branch=master Decorators for Rails * extend an object with given classes (default is \<object.class\>Decorator, if defined) * make helpers accessible in object via :h ### Example Decorate a model in your controller: def show article = Article.find(params[:id]) @article = Artdeco.decorate(article, self) end def index articles = Article.all @articles = Artdeco.decorate(articles, self) end Then @article will be extended by module ArticleDecorator and has access to your helpers via :h module ArticleDecorator def image h.image_tag('article') end end and your views may use the decorated model: # app/views/articles/show.html.haml %h1 Article = @article.image Modules for decoration may be given explicitly: Artdeco.decorate(user, self, decorator: Customer) # or Artdeco.decorate(user, self, decorator: [ Customer, Admin ] ) Also works for enumerations (anything which responds to :map): @articles = Article.all Artdeco.decorate(@articles, self) For conveniance decorated objects may decorate other objects: Artdeco.decorate(order, self) order.decorate(shopping_card)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
artdeco-1.2.0 | README.md |