consent 2.0.0 → 2.2.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/.gitignore +0 -1
- data/.rubocop.yml +9 -1
- data/Appraisals +17 -0
- data/Gemfile +10 -3
- data/Gemfile.lock +275 -0
- data/app/models/consent/history.rb +2 -1
- data/app/models/consent/permission.rb +2 -2
- data/bin/console +3 -3
- data/consent.gemspec +8 -8
- data/docs/CHANGELOG.md +13 -0
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/rails_6_1.gemfile +17 -0
- data/gemfiles/rails_6_1.gemfile.lock +304 -0
- data/gemfiles/rails_7_0.gemfile +17 -0
- data/gemfiles/rails_7_0.gemfile.lock +302 -0
- data/gemfiles/rails_7_1.gemfile +17 -0
- data/gemfiles/rails_7_1.gemfile.lock +354 -0
- data/gemfiles/rails_7_2.gemfile +17 -0
- data/gemfiles/rails_7_2.gemfile.lock +351 -0
- data/lib/consent/ability.rb +1 -1
- data/lib/consent/dsl.rb +0 -8
- data/lib/consent/rspec/consent_view.rb +2 -3
- data/lib/consent/subject_coder.rb +10 -0
- data/lib/consent/version.rb +1 -1
- data/mkdocs.yml +1 -0
- metadata +52 -13
data/lib/consent/dsl.rb
CHANGED
@@ -14,14 +14,6 @@ module Consent
|
|
14
14
|
DSL.build(@subject, @defaults.merge(new_defaults), &block)
|
15
15
|
end
|
16
16
|
|
17
|
-
# rubocop:disable Lint/UnusedBlockArgument, Security/Eval
|
18
|
-
def eval_view(key, label, collection_conditions)
|
19
|
-
view key, label do |user|
|
20
|
-
eval(collection_conditions)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
# rubocop:enable Lint/UnusedBlockArgument, Security/Eval
|
24
|
-
|
25
17
|
def view(key, label, instance = nil, collection = nil, &block)
|
26
18
|
collection ||= block
|
27
19
|
@subject.views[key] = View.new(key, label, instance, collection)
|
@@ -50,7 +50,7 @@ module Consent
|
|
50
50
|
|
51
51
|
def failure_message_base(failure) # rubocop:disable Metrics/MethodLength
|
52
52
|
message = format(
|
53
|
-
'expected %<skey>s (%<sclass>s) %<fail>s provide view %<view>s with
|
53
|
+
'expected %<skey>s (%<sclass>s) %<fail>s provide view %<view>s with`
|
54
54
|
`%<conditions>p, but',
|
55
55
|
skey: @subject_key.to_s, sclass: @subject_key.class,
|
56
56
|
view: @view_key, conditions: @conditions, fail: failure
|
@@ -63,8 +63,7 @@ module Consent
|
|
63
63
|
)
|
64
64
|
else
|
65
65
|
actual_views = Consent.find_subjects(@subject_key)
|
66
|
-
.
|
67
|
-
.map(&:keys).flatten
|
66
|
+
.flat_map { |subject| subject.views.keys }
|
68
67
|
format(
|
69
68
|
"%<message>s available views are %<views>p",
|
70
69
|
message: message, views: actual_views
|
@@ -3,6 +3,16 @@
|
|
3
3
|
module Consent
|
4
4
|
# Coder for ability subjects
|
5
5
|
module SubjectCoder
|
6
|
+
module Model
|
7
|
+
def self.included(base)
|
8
|
+
if Gem::Version.new(Rails.version) >= Gem::Version.new("7.1")
|
9
|
+
base.serialize :subject, coder: Consent::SubjectCoder
|
10
|
+
else
|
11
|
+
base.serialize :subject, Consent::SubjectCoder
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
6
16
|
module_function
|
7
17
|
|
8
18
|
# Loads the serialized key (snake case string) as a valid
|
data/lib/consent/version.rb
CHANGED
data/mkdocs.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: consent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Palhares
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cancancan
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '5'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: appraisal
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.5.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.5.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +94,34 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '7.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.14.2
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.14.2
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: pry-byebug
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - '='
|
88
116
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.
|
117
|
+
version: 3.10.1
|
90
118
|
type: :development
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
122
|
- - '='
|
95
123
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.
|
124
|
+
version: 3.10.1
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: rake
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +156,14 @@ dependencies:
|
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
159
|
+
version: 6.1.5
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
166
|
+
version: 6.1.5
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: rubocop-powerhome
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +184,14 @@ dependencies:
|
|
156
184
|
requirements:
|
157
185
|
- - "~>"
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
187
|
+
version: 1.7.3
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
192
|
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
194
|
+
version: 1.7.3
|
167
195
|
description: Consent permission based authorization
|
168
196
|
email:
|
169
197
|
- chjunior@gmail.com
|
@@ -174,7 +202,9 @@ files:
|
|
174
202
|
- ".gitignore"
|
175
203
|
- ".rubocop.yml"
|
176
204
|
- ".rubocop_todo.yml"
|
205
|
+
- Appraisals
|
177
206
|
- Gemfile
|
207
|
+
- Gemfile.lock
|
178
208
|
- Rakefile
|
179
209
|
- app/models/concerns/consent/authorizable.rb
|
180
210
|
- app/models/consent/application_record.rb
|
@@ -189,6 +219,15 @@ files:
|
|
189
219
|
- doc/dependency_decisions.yml
|
190
220
|
- docs/CHANGELOG.md
|
191
221
|
- docs/README.md
|
222
|
+
- gemfiles/.bundle/config
|
223
|
+
- gemfiles/rails_6_1.gemfile
|
224
|
+
- gemfiles/rails_6_1.gemfile.lock
|
225
|
+
- gemfiles/rails_7_0.gemfile
|
226
|
+
- gemfiles/rails_7_0.gemfile.lock
|
227
|
+
- gemfiles/rails_7_1.gemfile
|
228
|
+
- gemfiles/rails_7_1.gemfile.lock
|
229
|
+
- gemfiles/rails_7_2.gemfile
|
230
|
+
- gemfiles/rails_7_2.gemfile.lock
|
192
231
|
- lib/consent.rb
|
193
232
|
- lib/consent/ability.rb
|
194
233
|
- lib/consent/action.rb
|
@@ -215,7 +254,7 @@ licenses:
|
|
215
254
|
- MIT
|
216
255
|
metadata:
|
217
256
|
rubygems_mfa_required: 'true'
|
218
|
-
post_install_message:
|
257
|
+
post_install_message:
|
219
258
|
rdoc_options: []
|
220
259
|
require_paths:
|
221
260
|
- lib
|
@@ -223,15 +262,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
223
262
|
requirements:
|
224
263
|
- - ">="
|
225
264
|
- !ruby/object:Gem::Version
|
226
|
-
version: '
|
265
|
+
version: '3.0'
|
227
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
228
267
|
requirements:
|
229
268
|
- - ">="
|
230
269
|
- !ruby/object:Gem::Version
|
231
270
|
version: '0'
|
232
271
|
requirements: []
|
233
|
-
rubygems_version: 3.
|
234
|
-
signing_key:
|
272
|
+
rubygems_version: 3.5.22
|
273
|
+
signing_key:
|
235
274
|
specification_version: 4
|
236
275
|
summary: Consent permission based authorization
|
237
276
|
test_files: []
|