Module: Sequel::Privacy

Extended by:
T::Sig
Defined in:
lib/sequel-privacy.rb,
lib/sequel/privacy/cache.rb,
lib/sequel/privacy/errors.rb,
lib/sequel/privacy/policy.rb,
lib/sequel/privacy/policy.rb,
lib/sequel/privacy/actions.rb,
lib/sequel/privacy/i_actor.rb,
lib/sequel/privacy/version.rb,
lib/sequel/privacy/enforcer.rb,
lib/sequel/privacy/policy_dsl.rb,
lib/sequel/privacy/viewer_context.rb,
lib/sequel/privacy/built_in_policies.rb

Defined Under Namespace

Modules: BuiltInPolicies, Enforcer, IActor, PolicyDSL Classes: APIVC, ActionsClass, ActorVC, AllPowerfulVC, AnonymousVC, FieldUnauthorized, InvalidPolicyOutcomeError, InvalidViewerContextError, MissingViewerContext, OmniscientVC, Policy, PrivacyAlreadyFinalizedError, Unauthorized, ViewerContext

Constant Summary collapse

TPolicy =
T.type_alias { Sequel::Privacy::Policy }
TPolicyArray =
T.type_alias { T::Array[T.any(TPolicy, Proc)] }
TPolicySubject =
T.type_alias { T.any(Sequel::Model, T.untyped) }
Actions =
T.let(ActionsClass.new, ActionsClass)
VERSION =
'0.2.1'
TViewerContext =

Type alias for viewer contexts

T.type_alias { ViewerContext }

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



15
16
17
# File 'lib/sequel-privacy.rb', line 15

def logger
  @logger
end

Class Method Details

.cacheObject



13
14
15
# File 'lib/sequel/privacy/cache.rb', line 13

def cache
  @cache ||= T.let({}, T.nilable(T::Hash[Integer, Symbol]))
end

.clear_cache!Object



27
28
29
30
# File 'lib/sequel/privacy/cache.rb', line 27

def clear_cache!
  @cache = {}
  @single_matches = {}
end

.single_matchesObject



21
22
23
# File 'lib/sequel/privacy/cache.rb', line 21

def single_matches
  @single_matches ||= T.let({}, T.nilable(T::Hash[Integer, Integer]))
end