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, NotAuthorizedError, NotDefinedError, PolicyCheck, PolicyEnforcer

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



18
19
20
# File 'lib/access_policy.rb', line 18

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

Instance Method Details

#_authorize(query) ⇒ Object



36
37
38
# File 'lib/access_policy.rb', line 36

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

#_default_error_policyObject



22
23
24
# File 'lib/access_policy.rb', line 22

def _default_error_policy
  ->(*){raise}
end

#_guardObject



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

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

#_scope_storageObject



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

def _scope_storage
  ScopedStorage::ThreadLocalStorage
end

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



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

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