phi_attrs 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +6 -3
- data/.github/workflows/publish.yml +1 -1
- data/.gitignore +3 -2
- data/.rubocop.yml +15 -12
- data/Appraisals +10 -11
- data/Dockerfile +11 -6
- data/README.md +2 -2
- data/Rakefile +6 -13
- data/bin/rubo_fix +1 -1
- data/bin/run_tests +1 -1
- data/bin/ssh_to_container +6 -1
- data/config.ru +2 -5
- data/docker-compose.yml +19 -2
- data/gemfiles/rails_6.1.gemfile +10 -0
- data/gemfiles/rails_7.0.gemfile +10 -0
- data/lib/phi_attrs/configure.rb +1 -1
- data/lib/phi_attrs/phi_record.rb +16 -19
- data/lib/phi_attrs/railtie.rb +2 -2
- data/lib/phi_attrs/rspec.rb +3 -1
- data/lib/phi_attrs/version.rb +1 -1
- data/phi_attrs.gemspec +9 -9
- metadata +18 -61
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/rails_5.1.gemfile +0 -8
- data/gemfiles/rails_5.2.gemfile +0 -8
- data/gemfiles/rails_6.0.gemfile +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be64c426b92892524e0263b2026ad0d654dc36f5dca2f75af0237df680638a76
|
4
|
+
data.tar.gz: 314a8480ee93bd132bf0e9dbf0cd9dd5a6a8a7fa28f318d758645a074e07cf0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb48b129482db7fab7c73b5b2de63d4f47e61ae551e230fc071de5d53c5079f681daea25d9db3ae2b7b483fee7986454734ef74e2783505a2e45c91b9c219a0e
|
7
|
+
data.tar.gz: 7cfc622520e128ed1ee59045febadd5de155119e88dbb11560c3a52b1a71db85d40511352c9804bc7d542db7275e132cbb44cbe3b5e93ae607515271dc217361
|
data/.github/workflows/build.yml
CHANGED
@@ -8,8 +8,10 @@ jobs:
|
|
8
8
|
name: Ruby ${{ matrix.ruby }}
|
9
9
|
strategy:
|
10
10
|
matrix:
|
11
|
-
|
12
|
-
|
11
|
+
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
|
12
|
+
ruby: ['2.7.2', '3.0', 3.1]
|
13
|
+
env:
|
14
|
+
RUBY_VERSION: ${{ matrix.ruby }}
|
13
15
|
steps:
|
14
16
|
- uses: actions/checkout@v3
|
15
17
|
- name: Set up Ruby ${{ matrix.ruby }}
|
@@ -21,4 +23,5 @@ jobs:
|
|
21
23
|
run: |
|
22
24
|
bundle exec appraisal install
|
23
25
|
- name: Run rspec
|
24
|
-
run:
|
26
|
+
run: |
|
27
|
+
bundle exec appraisal "rake dummy:db:create dummy:db:migrate && rspec"
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require: rubocop-rails
|
2
|
+
|
1
3
|
Rails:
|
2
4
|
Enabled: true
|
3
5
|
|
@@ -6,14 +8,18 @@ AllCops:
|
|
6
8
|
- 'bin/**/*'
|
7
9
|
- 'gemfiles/**/*'
|
8
10
|
- 'spec/internal/db/schema.rb'
|
9
|
-
|
10
|
-
|
11
|
-
Documentation:
|
12
|
-
Enabled: false
|
11
|
+
NewCops: enable
|
12
|
+
TargetRubyVersion: 2.7
|
13
13
|
|
14
14
|
Layout/IndentationWidth:
|
15
15
|
Enabled: true
|
16
16
|
|
17
|
+
Layout/LineLength:
|
18
|
+
Exclude:
|
19
|
+
- 'spec/**/*'
|
20
|
+
- 'lib/phi_attrs/phi_record.rb' # TODO: RUBOCOP Cleanup exclusion
|
21
|
+
Max: 140
|
22
|
+
|
17
23
|
Lint/UnreachableCode:
|
18
24
|
Exclude:
|
19
25
|
- 'lib/phi_attrs/phi_record.rb' # TODO: RUBOCOP Cleanup exclusion
|
@@ -38,12 +44,6 @@ Metrics/CyclomaticComplexity:
|
|
38
44
|
Exclude:
|
39
45
|
- 'lib/phi_attrs/phi_record.rb' # TODO: RUBOCOP Cleanup exclusion
|
40
46
|
|
41
|
-
Metrics/LineLength:
|
42
|
-
Exclude:
|
43
|
-
- 'spec/**/*'
|
44
|
-
- 'lib/phi_attrs/phi_record.rb' # TODO: RUBOCOP Cleanup exclusion
|
45
|
-
Max: 140
|
46
|
-
|
47
47
|
Metrics/MethodLength:
|
48
48
|
Exclude:
|
49
49
|
- 'spec/**/*'
|
@@ -65,8 +65,8 @@ Rails/DynamicFindBy:
|
|
65
65
|
Exclude:
|
66
66
|
- 'spec/spec_helper.rb' # TODO: RUBOCOP Cleanup exclusion
|
67
67
|
|
68
|
-
Style/BracesAroundHashParameters:
|
69
|
-
|
68
|
+
# Style/BracesAroundHashParameters:
|
69
|
+
# Enabled: false
|
70
70
|
|
71
71
|
Style/ClassVars:
|
72
72
|
Enabled: false
|
@@ -78,6 +78,9 @@ Style/CommentedKeyword:
|
|
78
78
|
Style/ConditionalAssignment:
|
79
79
|
Enabled: false
|
80
80
|
|
81
|
+
Style/Documentation:
|
82
|
+
Enabled: false
|
83
|
+
|
81
84
|
Style/EmptyMethod:
|
82
85
|
EnforcedStyle: expanded
|
83
86
|
|
data/Appraisals
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
appraise '
|
4
|
-
gem 'rails', '
|
5
|
-
gem '
|
3
|
+
appraise 'rails_6.1' do
|
4
|
+
gem 'rails', '~> 6.1'
|
5
|
+
gem 'rspec', '~> 3.10'
|
6
|
+
gem 'rspec-rails', '~> 5.1'
|
7
|
+
gem 'sqlite3', '~> 1.5'
|
6
8
|
end
|
7
9
|
|
8
|
-
appraise '
|
9
|
-
gem 'rails', '
|
10
|
-
gem '
|
10
|
+
appraise 'rails_7.0' do
|
11
|
+
gem 'rails', '~> 7.0'
|
12
|
+
gem 'rspec', '~> 3.12'
|
13
|
+
gem 'rspec-rails', '~> 6.0'
|
14
|
+
gem 'sqlite3', '~> 1.5'
|
11
15
|
end
|
12
|
-
|
13
|
-
appraise 'rails-6.0' do
|
14
|
-
gem 'rails', '6.0.3'
|
15
|
-
gem 'sqlite3', '~> 1.4'
|
16
|
-
end
|
data/Dockerfile
CHANGED
@@ -1,16 +1,21 @@
|
|
1
|
-
|
2
|
-
MAINTAINER wyatt@apsis.io
|
1
|
+
ARG RUBY_VERSION=3.1.3
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
FROM ruby:${RUBY_VERSION}-buster
|
4
|
+
|
5
|
+
RUN apt-get update -qq && apt-get install -y --no-install-recommends \
|
6
|
+
build-essential \
|
7
|
+
git \
|
8
|
+
bash \
|
9
|
+
sqlite3
|
8
10
|
|
9
11
|
ENV APP_HOME /app
|
10
12
|
WORKDIR $APP_HOME
|
11
13
|
|
12
14
|
COPY . $APP_HOME/
|
13
15
|
|
16
|
+
RUN gem update --system
|
17
|
+
RUN bundle config set force_ruby_platform true
|
18
|
+
|
14
19
|
EXPOSE 3000
|
15
20
|
|
16
21
|
CMD ["bash"]
|
data/README.md
CHANGED
@@ -321,7 +321,7 @@ module Admin
|
|
321
321
|
|
322
322
|
def leviosa
|
323
323
|
patient_info.allow_phi(current_user) do
|
324
|
-
# reason tries to use `phi.admin.patient_dashbaord.
|
324
|
+
# reason tries to use `phi.admin.patient_dashbaord.leviosa.patient_info`
|
325
325
|
end
|
326
326
|
end
|
327
327
|
end
|
@@ -484,4 +484,4 @@ Apsis Labs, LLP is not a HIPAA covered entity, and usage of this software does n
|
|
484
484
|
|
485
485
|
[](https://www.apsis.io)
|
486
486
|
|
487
|
-
`phi_attrs` was built by Apsis Labs. We love sharing what we build! Check out our [other libraries on Github](https://github.com/apsislabs), and if you like our work you can [hire us](https://www.apsis.io
|
487
|
+
`phi_attrs` was built by Apsis Labs. We love sharing what we build! Check out our [other libraries on Github](https://github.com/apsislabs), and if you like our work you can [hire us](https://www.apsis.io) to build your vision.
|
data/Rakefile
CHANGED
@@ -1,19 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler/setup'
|
3
5
|
require 'bundler/gem_tasks'
|
4
|
-
require 'rspec/core/rake_task'
|
5
6
|
|
6
|
-
|
7
|
+
require 'rake'
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
config.changelog_path = 'CHANGELOG.md'
|
12
|
-
config.github_repository = 'apsislabs/phi_attrs'
|
13
|
-
end
|
14
|
-
|
15
|
-
# Add chandler as a prerequisite for `rake release`
|
16
|
-
task 'release:rubygem_push' => 'chandler:push'
|
9
|
+
namespace :dummy do
|
10
|
+
require_relative 'spec/dummy/application'
|
11
|
+
Dummy::Application.load_tasks
|
17
12
|
end
|
18
|
-
|
19
|
-
task default: :spec
|
data/bin/rubo_fix
CHANGED
data/bin/run_tests
CHANGED
data/bin/ssh_to_container
CHANGED
data/config.ru
CHANGED
data/docker-compose.yml
CHANGED
@@ -1,13 +1,30 @@
|
|
1
1
|
version: '3'
|
2
2
|
|
3
3
|
services:
|
4
|
-
|
4
|
+
ruby2:
|
5
|
+
build:
|
6
|
+
context: .
|
7
|
+
args:
|
8
|
+
- RUBY_VERSION=2.7.0
|
9
|
+
volumes:
|
10
|
+
- bundle_cache:/bundle
|
11
|
+
- .:/app
|
12
|
+
environment:
|
13
|
+
- BUNDLER_VERSION=2.2.33
|
14
|
+
- BUNDLE_JOBS=5
|
15
|
+
- BUNDLE_PATH=/bundle
|
16
|
+
- BUNDLE_BIN=/bundle/bin
|
17
|
+
- GEM_HOME=/bundle
|
18
|
+
- DOCKER_CONTAINER=1
|
19
|
+
command:
|
20
|
+
- docker/start.sh
|
21
|
+
ruby3:
|
5
22
|
build: .
|
6
23
|
volumes:
|
7
24
|
- bundle_cache:/bundle
|
8
25
|
- .:/app
|
9
26
|
environment:
|
10
|
-
- BUNDLER_VERSION=2.
|
27
|
+
- BUNDLER_VERSION=2.4.0
|
11
28
|
- BUNDLE_JOBS=5
|
12
29
|
- BUNDLE_PATH=/bundle
|
13
30
|
- BUNDLE_BIN=/bundle/bin
|
data/lib/phi_attrs/configure.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
module PhiAttrs
|
4
4
|
@@log_path = nil
|
5
5
|
@@log_shift_age = 0 # Default to disabled
|
6
|
-
@@log_shift_size =
|
6
|
+
@@log_shift_size = 1_048_576 # 1MB - Default from logger class
|
7
7
|
@@current_user_method = nil
|
8
8
|
@@translation_prefix = 'phi'
|
9
9
|
|
data/lib/phi_attrs/phi_record.rb
CHANGED
@@ -112,7 +112,6 @@ module PhiAttrs
|
|
112
112
|
return
|
113
113
|
end
|
114
114
|
|
115
|
-
|
116
115
|
# Enable PHI access for any instance of this class in the block given only
|
117
116
|
# returning whatever the block returns.
|
118
117
|
#
|
@@ -141,7 +140,7 @@ module PhiAttrs
|
|
141
140
|
end
|
142
141
|
|
143
142
|
# Save this so we don't revoke access previously extended outside the block
|
144
|
-
frozen_instances =
|
143
|
+
frozen_instances = __instances_with_extended_phi.index_with { |obj| obj.instance_variable_get(:@__phi_relations_extended).clone }
|
145
144
|
|
146
145
|
if allow_only.nil?
|
147
146
|
allow_phi!(user_id, reason)
|
@@ -366,11 +365,10 @@ module PhiAttrs
|
|
366
365
|
return
|
367
366
|
end
|
368
367
|
|
369
|
-
|
370
368
|
# Enable PHI access for a single instance of this class inside the block.
|
371
369
|
# Returns whatever is returned from the block.
|
372
370
|
# Nested calls to get_phi will log once per nested call
|
373
|
-
#s
|
371
|
+
# s
|
374
372
|
# @param [String] user_id A unique identifier for the person accessing the PHI
|
375
373
|
# @param [String] reason The reason for accessing PHI
|
376
374
|
# @yield The block in which phi access is allowed
|
@@ -462,7 +460,6 @@ module PhiAttrs
|
|
462
460
|
end
|
463
461
|
end
|
464
462
|
|
465
|
-
|
466
463
|
# The unique identifier for whom access has been allowed on this instance.
|
467
464
|
# This is what was passed in when PhiRecord#allow_phi! was called.
|
468
465
|
#
|
@@ -632,16 +629,18 @@ module PhiAttrs
|
|
632
629
|
wrapped_method = :"__#{method_name}_phi_wrapped"
|
633
630
|
unwrapped_method = :"__#{method_name}_phi_unwrapped"
|
634
631
|
|
635
|
-
self.class.send(:define_method, wrapped_method) do |*args, &block|
|
632
|
+
self.class.send(:define_method, wrapped_method) do |*args, **kwargs, &block|
|
636
633
|
PhiAttrs::Logger.tagged(*phi_log_keys) do
|
637
|
-
|
634
|
+
unless phi_allowed?
|
635
|
+
raise PhiAttrs::Exceptions::PhiAccessException, "Attempted PHI access for #{self.class.name} #{@__phi_user_id}"
|
636
|
+
end
|
638
637
|
|
639
638
|
unless all_phi_context_logged?
|
640
639
|
PhiAttrs::Logger.info("#{self.class.name} access by [#{all_phi_allowed_by}]. Triggered by method: #{method_name}")
|
641
640
|
set_all_phi_context_logged
|
642
641
|
end
|
643
642
|
|
644
|
-
send(unwrapped_method, *args, &block)
|
643
|
+
send(unwrapped_method, *args, **kwargs, &block)
|
645
644
|
end
|
646
645
|
end
|
647
646
|
|
@@ -665,18 +664,16 @@ module PhiAttrs
|
|
665
664
|
wrapped_method = wrapped_extended_name(method_name)
|
666
665
|
unwrapped_method = unwrapped_extended_name(method_name)
|
667
666
|
|
668
|
-
self.class.send(:define_method, wrapped_method) do |*args, &block|
|
669
|
-
relation = send(unwrapped_method, *args, &block)
|
670
|
-
|
671
|
-
if phi_allowed?
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
r.allow_phi!(phi_allowed_by, phi_access_reason) unless @__phi_relations_extended.include?(r)
|
676
|
-
end
|
677
|
-
@__phi_relations_extended.merge(relations)
|
678
|
-
self.class.__instances_with_extended_phi.add(self)
|
667
|
+
self.class.send(:define_method, wrapped_method) do |*args, **kwargs, &block|
|
668
|
+
relation = send(unwrapped_method, *args, **kwargs, &block)
|
669
|
+
|
670
|
+
if phi_allowed? && (relation.present? && relation_klass(relation).included_modules.include?(PhiRecord))
|
671
|
+
relations = relation.is_a?(Enumerable) ? relation : [relation]
|
672
|
+
relations.each do |r|
|
673
|
+
r.allow_phi!(phi_allowed_by, phi_access_reason) unless @__phi_relations_extended.include?(r)
|
679
674
|
end
|
675
|
+
@__phi_relations_extended.merge(relations)
|
676
|
+
self.class.__instances_with_extended_phi.add(self)
|
680
677
|
end
|
681
678
|
|
682
679
|
relation
|
data/lib/phi_attrs/railtie.rb
CHANGED
@@ -7,8 +7,8 @@ module PhiAttrs
|
|
7
7
|
class Railtie < Rails::Railtie
|
8
8
|
initializer 'phi_attrs.initialize' do |_app|
|
9
9
|
ActiveSupport.on_load(:active_record) do
|
10
|
-
|
11
|
-
|
10
|
+
ActiveSupport.on_load(:active_record) { extend PhiAttrs::Model }
|
11
|
+
ActiveSupport.on_load(:action_controller) { include PhiAttrs::Controller }
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
data/lib/phi_attrs/rspec.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rspec/expectations'
|
2
4
|
|
3
|
-
DO_NOT_SPECIFY =
|
5
|
+
DO_NOT_SPECIFY = 'do not specify `allowed_by` or `with_access_reason` for negated `allow_phi_access`'
|
4
6
|
|
5
7
|
RSpec::Matchers.define :allow_phi_access do
|
6
8
|
match do |result|
|
data/lib/phi_attrs/version.rb
CHANGED
data/phi_attrs.gemspec
CHANGED
@@ -13,35 +13,35 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.summary = 'PHI Access Restriction & Logging for Rails ActiveRecord'
|
14
14
|
spec.homepage = 'http://www.apsis.io'
|
15
15
|
spec.license = 'MIT'
|
16
|
-
spec.post_install_message =
|
16
|
+
spec.post_install_message = '
|
17
17
|
Thank you for installing phi_attrs! By installing this gem,
|
18
18
|
you acknowledge and agree to the disclaimer as provided in the
|
19
19
|
DISCLAIMER.txt file.
|
20
20
|
|
21
21
|
For full details, see: https://github.com/apsislabs/phi_attrs/blob/master/DISCLAIMER.txt
|
22
|
-
|
22
|
+
'
|
23
23
|
|
24
|
-
spec.
|
24
|
+
spec.required_ruby_version = '>= 2.7.0'
|
25
|
+
|
26
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
25
27
|
f.match(%r{^(test|spec|features)/})
|
26
28
|
end
|
27
29
|
spec.bindir = 'exe'
|
28
30
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
31
|
spec.require_paths = ['lib']
|
30
32
|
|
31
|
-
spec.add_runtime_dependency 'rails', '>=
|
33
|
+
spec.add_runtime_dependency 'rails', '>= 6.0.0'
|
32
34
|
spec.add_runtime_dependency 'request_store', '~> 1.4'
|
33
35
|
|
34
36
|
spec.add_development_dependency 'appraisal'
|
35
|
-
spec.add_development_dependency 'bundler', '
|
37
|
+
spec.add_development_dependency 'bundler', '>= 2.2.33'
|
36
38
|
spec.add_development_dependency 'byebug'
|
37
|
-
spec.add_development_dependency 'chandler'
|
38
|
-
spec.add_development_dependency 'combustion'
|
39
39
|
spec.add_development_dependency 'factory_bot_rails'
|
40
40
|
spec.add_development_dependency 'faker'
|
41
41
|
spec.add_development_dependency 'rake'
|
42
|
-
spec.add_development_dependency 'rspec', '~> 3.7'
|
43
|
-
spec.add_development_dependency 'rspec-rails', '~> 3.7'
|
44
42
|
spec.add_development_dependency 'rubocop'
|
43
|
+
spec.add_development_dependency 'rubocop-rails'
|
45
44
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
46
45
|
spec.add_development_dependency 'tzinfo-data'
|
46
|
+
spec.metadata['rubygems_mfa_required'] = 'false'
|
47
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phi_attrs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wyatt Kirby
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 6.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: request_store
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,34 +54,20 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2.0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '2.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: byebug
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
61
|
+
version: 2.2.33
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
66
|
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
68
|
+
version: 2.2.33
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: byebug
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -95,7 +81,7 @@ dependencies:
|
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
84
|
+
name: factory_bot_rails
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - ">="
|
@@ -109,7 +95,7 @@ dependencies:
|
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
98
|
+
name: faker
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
101
|
- - ">="
|
@@ -123,7 +109,7 @@ dependencies:
|
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
112
|
+
name: rake
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
115
|
- - ">="
|
@@ -137,7 +123,7 @@ dependencies:
|
|
137
123
|
- !ruby/object:Gem::Version
|
138
124
|
version: '0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
126
|
+
name: rubocop
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - ">="
|
@@ -151,35 +137,7 @@ dependencies:
|
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '3.7'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '3.7'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: rspec-rails
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '3.7'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '3.7'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rubocop
|
140
|
+
name: rubocop-rails
|
183
141
|
requirement: !ruby/object:Gem::Requirement
|
184
142
|
requirements:
|
185
143
|
- - ">="
|
@@ -249,10 +207,8 @@ files:
|
|
249
207
|
- config.ru
|
250
208
|
- docker-compose.yml
|
251
209
|
- docker/start.sh
|
252
|
-
- gemfiles
|
253
|
-
- gemfiles/
|
254
|
-
- gemfiles/rails_5.2.gemfile
|
255
|
-
- gemfiles/rails_6.0.gemfile
|
210
|
+
- gemfiles/rails_6.1.gemfile
|
211
|
+
- gemfiles/rails_7.0.gemfile
|
256
212
|
- lib/phi_attrs.rb
|
257
213
|
- lib/phi_attrs/configure.rb
|
258
214
|
- lib/phi_attrs/exceptions.rb
|
@@ -266,7 +222,8 @@ files:
|
|
266
222
|
homepage: http://www.apsis.io
|
267
223
|
licenses:
|
268
224
|
- MIT
|
269
|
-
metadata:
|
225
|
+
metadata:
|
226
|
+
rubygems_mfa_required: 'false'
|
270
227
|
post_install_message: "\n Thank you for installing phi_attrs! By installing this
|
271
228
|
gem,\n you acknowledge and agree to the disclaimer as provided in the\n DISCLAIMER.txt
|
272
229
|
file.\n\n For full details, see: https://github.com/apsislabs/phi_attrs/blob/master/DISCLAIMER.txt\n
|
@@ -278,14 +235,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
278
235
|
requirements:
|
279
236
|
- - ">="
|
280
237
|
- !ruby/object:Gem::Version
|
281
|
-
version:
|
238
|
+
version: 2.7.0
|
282
239
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
283
240
|
requirements:
|
284
241
|
- - ">="
|
285
242
|
- !ruby/object:Gem::Version
|
286
243
|
version: '0'
|
287
244
|
requirements: []
|
288
|
-
rubygems_version: 3.
|
245
|
+
rubygems_version: 3.4.1
|
289
246
|
signing_key:
|
290
247
|
specification_version: 4
|
291
248
|
summary: PHI Access Restriction & Logging for Rails ActiveRecord
|
data/gemfiles/.bundle/config
DELETED
data/gemfiles/rails_5.1.gemfile
DELETED
data/gemfiles/rails_5.2.gemfile
DELETED