Decorator gem with draper-like API for Rails 2.3.x apps
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gemfiles
lib
spec
.gitignore
.rspec
.travis.yml
Appraisals
ChangeLog.md
Gemfile
LICENSE.txt
README.md
Rakefile
haberdasher.gemspec
test.txt

README.md

Haberdasher

Dependency Status Build Status Code Climate

Decorator library providing a draper style API for Rails 2.3.x apps.

Installation

Rails 2.3.x

If you're using bundler, then add this line to your application's Gemfile:

gem 'haberdasher'

And then execute:

$ bundle

If you're not using bundler:

# in config/environment.rb
config.gem "haberdasher"

Usage

Writing Decorators

Similar to draper, decorators inherit from Haberdasher::Decorator, live in your app/decorators directory, and are named for the model that they decorate:

# app/decorators/article_decorator.rb
class ArticleDecorator < Haberdasher::Decorator
# ...
end

Using Decorators

Use #decorate

For the time being, explicitly #include the Haberdasher::Decoratoratable in your model:

# app/models/article.rb
class Article < ActiveRecord::Base
  include Haberdasher::Decoratoratable
  #other methods....
end

Or use the decorator explicitly without mixing any modules in

# app/controllers/articles_controller.rb
  def show
    @article = ArticleDecorator.new Article.find params[:id]
  end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request