Skip to content

update gem tooling and support matrix#83

Merged
wkirby merged 12 commits into
mainfrom
deprecate-ruby-2
May 28, 2026
Merged

update gem tooling and support matrix#83
wkirby merged 12 commits into
mainfrom
deprecate-ruby-2

Conversation

@wkirby
Copy link
Copy Markdown
Contributor

@wkirby wkirby commented May 28, 2026

No description provided.

@wkirby wkirby requested a review from egreer May 28, 2026 18:19
wkirby added 8 commits May 28, 2026 14:27
- exception_safety_spec: disallow_phi/allow_phi/get_phi block exception safety (class + instance)
- require_phi_spec: PhiAccessException raised/not-raised under class and instance access
- disallow_last_phi_spec: pops most recent allow, no-op on empty stack
- phi_allowed_by_spec: nil when no access, correct user_id/reason, stacked allows, class fallback
- log_sanitization_spec: newlines stripped from user_id and reason at allow_phi! entry
- request_isolation_spec: class allow cleared by RequestStore.clear!, instance stack survives, extended instances cleared
- rspec_matcher_spec: allow_phi_access positive/negative, allowed_by/with_access_reason chains, negated raises ArgumentError

Also fix PhiAccessException unqualified constant in require_phi! (was PhiAccessException, now PhiAttrs::Exceptions::PhiAccessException)
PhiStackEntry = Struct.new(:phi_access_allowed, :user_id, :reason, :logged, keyword_init: true)

Structs are cheaper to allocate than Hashes and expose named accessors.
Replaces every push({...}) and [:key] access site in both class-level
and instance-level stacks.
Comment thread Rakefile Outdated
@wkirby wkirby merged commit 9c40106 into main May 28, 2026
12 checks passed
@wkirby wkirby deleted the deprecate-ruby-2 branch May 28, 2026 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants