EasyDecorate

This gem helps you easily decorate your objects. There are generator for Rails.

Installation

Add this line to your application's Gemfile:

gem 'easy_decorate'

And then execute:

$ bundle

Usage

Decoretors generating

$ rails generate decorator Super

Add your methods in SuperDecorator:

# app/decorators/super_decorator.rb
class SuperDecorator < EasyDecorate::Decorator
      def my_new_method
        'Hello, this is my first decorator!'
      end
end

Decorate main object

# app/controllers/user_controller.rb
class UsersController < ApplicationController
    def show
        @user = User.find_by(params[:id])
        @user = SuperDecorator.new(@user)
        # then you can use 'my_new_method'
        p @user.my_new_method
    end
end

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/DmytroLukianov/easy_decorate.

License

The gem is available as open source under the terms of the MIT License.