Sha256: 3da747c4b7cefa3a291717aa82c4d8ff3c223db6ebae165b5e812ac4f649b15b

Contents?: true

Size: 690 Bytes

Versions: 1

Compression:

Stored size: 690 Bytes

Contents

require 'abilities/extensions/action_controller/base'
require 'abilities/configuration'
require 'abilities/definitions'
require 'abilities/exceptions'
require 'abilities/proxy'
require 'abilities/railtie'
require 'abilities/version'

module Abilities
  class << self

    attr_reader :block

    def configuration
      @configuration ||= Configuration.new
    end

    def define(&block)
      @block = block
    end

    def configure
      yield configuration
    end

    %i(can? cannot?).each do |name|
      define_method name do |user, action, resource|
        definitions = Definitions.new(user, &block)
        definitions.send name, action, resource
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
abilities-5.1.2 lib/abilities.rb