Module: ActionPolicy

Defined in:
lib/action_policy.rb,
lib/action_policy/base.rb,
lib/action_policy/i18n.rb,
lib/action_policy/railtie.rb,
lib/action_policy/testing.rb,
lib/action_policy/version.rb,
lib/action_policy/behaviour.rb,
lib/action_policy/rspec/dsl.rb,
lib/action_policy/authorizer.rb,
lib/action_policy/policy/core.rb,
lib/action_policy/test_helper.rb,
lib/action_policy/lookup_chain.rb,
lib/action_policy/policy/cache.rb,
lib/action_policy/rails/channel.rb,
lib/action_policy/policy/aliases.rb,
lib/action_policy/policy/reasons.rb,
lib/action_policy/policy/scoping.rb,
lib/action_policy/policy/defaults.rb,
lib/action_policy/policy/pre_check.rb,
lib/action_policy/rails/authorizer.rb,
lib/action_policy/rails/controller.rb,
lib/action_policy/behaviours/scoping.rb,
lib/action_policy/behaviours/memoized.rb,
lib/action_policy/ext/symbol_camelize.rb,
lib/action_policy/policy/cached_apply.rb,
lib/action_policy/rspec/pundit_syntax.rb,
lib/action_policy/ext/module_namespace.rb,
lib/action_policy/ext/policy_cache_key.rb,
lib/action_policy/policy/authorization.rb,
lib/action_policy/rspec/be_an_alias_of.rb,
lib/action_policy/behaviours/namespaced.rb,
lib/action_policy/behaviours/policy_for.rb,
lib/action_policy/ext/string_underscore.rb,
lib/action_policy/utils/suggest_message.rb,
lib/action_policy/ext/string_constantize.rb,
lib/action_policy/rspec/be_authorized_to.rb,
lib/action_policy/ext/hash_transform_keys.rb,
lib/action_policy/policy/execution_result.rb,
lib/action_policy/behaviours/thread_memoized.rb,
lib/action_policy/rspec/have_authorized_scope.rb,
lib/action_policy/rails/policy/instrumentation.rb,
lib/action_policy/rails/scope_matchers/active_record.rb,
lib/generators/action_policy/policy/policy_generator.rb,
lib/generators/action_policy/install/install_generator.rb,
lib/action_policy/rails/scope_matchers/action_controller_params.rb

Overview

:nodoc:

Defined Under Namespace

Modules: Authorizer, Behaviour, Behaviours, Channel, Controller, Ext, Generators, I18n, LookupChain, PerThreadCache, Policy, RSpec, Rails, ScopeMatchers, SuggestMessage, TestHelper, Testing Classes: AuthorizationContextMissing, Base, Error, NonPredicateRule, NotFound, Railtie, Unauthorized, UnauthorizedAction, UnknownNamedScope, UnknownRule, UnknownScopeType, UnrecognizedScopeTarget

Constant Summary collapse

VERSION =
"0.6.7"
CACHE_NAMESPACE =

By default cache namespace (or prefix) contains major and minor version of the gem

"acp:#{ActionPolicy::VERSION.split(".").take(2).join(".")}"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.cache_storeObject

Returns the value of attribute cache_store.



35
36
37
# File 'lib/action_policy.rb', line 35

def cache_store
  @cache_store
end

.enforce_predicate_rules_namingObject

Returns the value of attribute enforce_predicate_rules_naming.



37
38
39
# File 'lib/action_policy.rb', line 37

def enforce_predicate_rules_naming
  @enforce_predicate_rules_naming
end

Class Method Details

.lookup(target, allow_nil: false, default: nil, **options) ⇒ Object

Find a policy class for a target



40
41
42
43
44
# File 'lib/action_policy.rb', line 40

def lookup(target, allow_nil: false, default: nil, **options)
  LookupChain.call(target, **options) ||
    default ||
    (allow_nil ? nil : raise(NotFound, target))
end