module Admission::Rails::ControllerAddon

Public Class Methods

included(controller) click to toggle source
# File lib/admission/rails/controller_addon.rb, line 5
def self.included controller
  controller.extend ClassMethods
  controller.before_action :assure_admission
end

Private Instance Methods

assure_admission() click to toggle source

The default callback method that assures the admission request. It is included automatically if you include `Admission::Rails::ControllerAddon`.

`#action_admission` is used to get the scope for the action (`#action_name`).

# File lib/admission/rails/controller_addon.rb, line 36
def assure_admission
  action = action_name
  scope_resolver = self.class.action_admission.scope_for_action action

  scope_resolver.apply self do |scope|
    request_admission! action.to_sym, scope
  end
end
request_admission!(action, scope) click to toggle source

This is just a helper to proxy the admission request to the user you may need to redefine it if `current_user` is not the right accessor

# File lib/admission/rails/controller_addon.rb, line 28
def request_admission! action, scope
  current_user.status.request! action, scope
end