Module: AccessPolicy

Defined in:
lib/access_policy.rb,
lib/access_policy/version.rb,
lib/access_policy/policy_check.rb,
lib/access_policy/rspec_matchers.rb,
lib/access_policy/policy_enforcer.rb

Defined Under Namespace

Modules: ClassMethods, RspecMatchers Classes: AuthorizeNotCalledError, NestedStandardError, NotAuthorizedError, NotDefinedError, PolicyCheck, PolicyEnforcer

Constant Summary collapse

VERSION =
"0.0.7"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



26
27
28
# File 'lib/access_policy.rb', line 26

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#_authorize(query) ⇒ Object



44
45
46
# File 'lib/access_policy.rb', line 44

def _authorize(query)
  _guard.authorize self, query.to_sym
end

#_default_error_policyObject



30
31
32
# File 'lib/access_policy.rb', line 30

def _default_error_policy
  ->(*){raise}
end

#_guardObject



38
39
40
41
42
# File 'lib/access_policy.rb', line 38

def _guard
  @_guard ||= PolicyCheck.new(default_error_policy: _default_error_policy,
                              scope_storage: _scope_storage
                             )
end

#_scope_storageObject



34
35
36
# File 'lib/access_policy.rb', line 34

def _scope_storage
  ScopedStorage::ThreadLocalStorage
end

#with_user_or_role(user_or_role, error_policy = _default_error_policy, &block) ⇒ Object



48
49
50
# File 'lib/access_policy.rb', line 48

def with_user_or_role(user_or_role, error_policy =  _default_error_policy ,&block)
  _guard.with_user_or_role(user_or_role, error_policy, &block)
end