module FourEyes::ControllerAdditions::ClassMethods

Public Instance Methods

add_maker_checker_to_resource(*args) click to toggle source

Sets up a before filter which adds maker checker functionality to the controller

@example

class StudentsController < ApplicationController
  add_maker_checker_to_resource
end

To exempt any one of the actions

class StudentsController < ApplicationController
  add_maker_checker_to_resource, except: :delete
end

To include only a subset of the actions

class StudentsController < ApplicationController
  add_maker_checker_to_resource, only: [:create, :update]
end
# File lib/four_eyes/controller_additions.rb, line 29
def add_maker_checker_to_resource(*args)

  # Add maker functions
  four_eyes_resource_class.add_maker_create_function(self, :maker_create, *args)
  four_eyes_resource_class.add_maker_update_function(self, :maker_update, *args)
  four_eyes_resource_class.add_maker_delete_function(self, :maker_delete, *args)
  four_eyes_resource_class.add_maker_generic_function(self, :maker_generic, *args)
end
four_eyes_resource_class() click to toggle source
# File lib/four_eyes/controller_additions.rb, line 38
def four_eyes_resource_class
  if ancestors.map(&:to_s).include? "InheritedResources::Actions"
    InheritedResource
  else
    ControllerResource
  end
end