Sha256: d99371a754702ae3d99b2ab0209fb7a6b095221b29c93bc60d970f442609facd

Contents?: true

Size: 451 Bytes

Versions: 1

Compression:

Stored size: 451 Bytes

Contents

module Abilities
  module ActionController
    module Base
      extend ActiveSupport::Concern

      protected

      %w(can? cannot?).each do |name|
        define_method name do |action, subject|
          Abilities.send name, instance_exec(&Abilities.configuration.fetcher), action, subject
        end
      end

      def authorize!(action, subject)
        raise Abilities::AccessDenied unless can? action, subject
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
abilities-0.1.2 lib/abilities/action_controller/base.rb