Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

DurableDecoratorRails

This integrates durable_decorator with Rails.

Installation

Add this line to your application's Gemfile:

gem 'durable_decorator_rails', github: 'jumph4x/durable_decorator_rails'

And then execute:

$ bundle

Or install it yourself as:

$ gem install durable_decorator_rails

Usage

This gem will generate the correct file structure, place (or append to) the correct decorator and even insert the correct seal for you. Use:

rails g decorator [FULL_METHOD_NAME]

For example, let us decorate the existing #deleted? instance method from the gem that is namespaced under Spree in a file that is a model called Product. Just run:

rails g decorator Spree::Product#deleted?

The gem will create the app/models/spree/product_decorator.rb file for you to start with, and it will have the following contents:

Spree::Product.class_eval do  

  durably_decorate :deleted?, mode: 'strict', sha: '9dc99742ed3ebbdd5b2cbd7c3c93d730e5244e72' do 
  end  

end

Recent versions also pre-populate that with the previous method body, some hellpful comments and a callable alias to the previous version of the method.

Otherwise, you may access the SHA of any method in memory with:

rake durable_decorator:determine_sha[Spree::Product#deleted?]

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

Cred

A project by Downshift Labs, Ruby on Rails, Performance tuning and Spree Commerce projects.

About

No description, website, or topics provided.

Resources

License

Releases

No releases published

Packages

No packages published