This integrates durable_decorator with Rails.
Add this line to your application's Gemfile:
gem 'durable_decorator_rails', github: 'jumph4x/durable_decorator_rails'
And then execute:
Or install it yourself as:
$ gem install durable_decorator_rails
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:
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
A project by Downshift Labs, Ruby on Rails, Performance tuning and Spree Commerce projects.