Sha256: 2c2f52e56eaa9b0f50e2438f8e01230e38a6ad1e78cd634853162b386308c478

Contents?: true

Size: 595 Bytes

Versions: 3

Compression:

Stored size: 595 Bytes

Contents

module Credentials
  module Rules
    class Cannot < Can
      def allow?(actor, verb, *args)
        return false unless match? actor, verb, *args
        result = false
        result ||= evaluate(@options[:unless], actor, *args) if @options[:unless]
        result
      end
    
      def deny?(actor, verb, *args)
        return false unless match? actor, verb, *args
        result = true
        result &&= evaluate(@options[:if], actor, *args) if @options[:if]
        result &&= !evaluate(@options[:unless], actor, *args) if @options[:unless]
        result
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
fauxparse-credentials-1.0.0 lib/credentials/rules/cannot.rb
fauxparse-credentials-1.0.1 lib/credentials/rules/cannot.rb
credentials-1.0.1 lib/credentials/rules/cannot.rb