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: PolicyCheck, PolicyEnforcer

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



9
10
11
# File 'lib/access_policy.rb', line 9

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

Instance Method Details

#_authorize(query) ⇒ Object



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

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

#_default_error_policyObject



13
14
15
# File 'lib/access_policy.rb', line 13

def _default_error_policy
  ->(*){raise}
end

#_guardObject



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

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

#_scope_storageObject



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

def _scope_storage
  ScopedStorage::ThreadLocalStorage
end

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



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

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