Before Actions

Organize your controllers by grouping your before and after filters.

Status

Gem Version Dependency Status Inline docs Code Climate Code Climate License

References

Support

Installation

Add this line to your application's Gemfile:

gem 'before_actions'

And then execute:

bundle
rails g before_actions:install

Demo

Check this gem in use: app/controllers/contacts_controller.rb

class ContactsController < ApplicationController

  # load and authorize resources
  before_actions do
    # all actions
    # actions {  }

    # list actions
    actions(:index) { @contacts = Contact.all }

    # building actions
    actions(:new)    { @contact = Contact.new }
    actions(:create) { @contact = Contact.new(contact_params) }

    # member actions, will raise a 404 if the model is not found
    actions(:show, :edit, :update, :destroy) { @contact = Contact.find(params[:id]) }

    # all actions
    # actions {  }
  end

  ...

  def contact_params
    params.require(:contact).permit(:name)
  end
end

Demo Resource

controller.jpg

Demo Nested Resource

nested.png

Contributing

  1. Fork it ( https://github.com/github.com/before-actions-gem/before_actions/fork )
  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 a new Pull Request

Versioning

Before Actions uses Semantic Versioning 2.0.0