Sha256: e9ebf203df5ff4f5b1a47fd44e8b7554d0dd840cca81eed85ccb1b9d568ce9db

Contents?: true

Size: 451 Bytes

Versions: 1

Compression:

Stored size: 451 Bytes

Contents

require 'action_bouncer/allowance'
require 'action_bouncer/authorization'

module ActionBouncer
  def self.included(klass)
    klass.class_eval do
      def self.allow(resource, options)
				@_allowances ||= []
        @_allowances << Allowance.new(resource, options)
      end

      def self._authorization
        Authorization.new(@_allowances)
      end

      before_action { self.class._authorization.try(:authorize!, self) }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
action_bouncer-0.0.3 lib/action_bouncer.rb