pundit-matchers 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pundit/matchers.rb +87 -40
  3. metadata +15 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 75eb6737bf97672c843b34798c76b2166c066224
4
- data.tar.gz: d2a0041a8e59749948b8d3550e73532cca186baa
3
+ metadata.gz: 093d792efab35a52d2323239c1a743e67e6d9e8e
4
+ data.tar.gz: 114b33b8bd33f2fcffd816d01ac7370dc47cc3e4
5
5
  SHA512:
6
- metadata.gz: 46b092d9f548f9a8c48c622fd70e7c78f4aec1f0e09956dcd06c1031fea94158e103fef923d090bd24a76020881bddd868cebe708e2cf27facd0e70ec49cb514
7
- data.tar.gz: 4af2e2282a5bd8a65122a5c9b44b1befaba373e33fe5a3830aeebe9588d29cb253a243a2ec846bcbebf0e95ae1cabdaeb22be66409161c3214fcb5428f12837f
6
+ metadata.gz: 24076c702f7f4cc4b9c0eaa880400c773df365b5459763fbd5cb5a84194fe15ee03864c05a18a0f4d6f3e834f28dc8a42184f3ac602fd346dbd25062b22ff6e2
7
+ data.tar.gz: b51fb79d247ff289cf108b99b991451e02e24cb9ee29c423f76203564593919e353d894d4d9707bf8bf2ce450320aff03a1507e80870e959b6139f5fd50c8392
@@ -1,7 +1,18 @@
1
1
  require 'rspec/core'
2
+ require 'pundit/matchers/configuration'
2
3
 
3
4
  module Pundit
4
5
  module Matchers
6
+ class << self
7
+ def configure
8
+ yield(configuration)
9
+ end
10
+
11
+ def configuration
12
+ @configuration ||= Pundit::Matchers::Configuration.new
13
+ end
14
+ end
15
+
5
16
  RSpec::Matchers.define :forbid_action do |action, *args|
6
17
  match do |policy|
7
18
  if args.any?
@@ -12,13 +23,15 @@ module Pundit
12
23
  end
13
24
 
14
25
  failure_message do |policy|
15
- "#{policy.class} does not forbid #{action} for " \
16
- "#{policy.user.inspect}."
26
+ "#{policy.class} does not forbid #{action} for " +
27
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
28
+ .inspect + '.'
17
29
  end
18
30
 
19
31
  failure_message_when_negated do |policy|
20
- "#{policy.class} does not permit #{action} for " \
21
- "#{policy.user.inspect}."
32
+ "#{policy.class} does not permit #{action} for " +
33
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
34
+ .inspect + '.'
22
35
  end
23
36
  end
24
37
  end
@@ -38,20 +51,24 @@ module Pundit
38
51
  'specified when using the forbid_actions matcher.'
39
52
 
40
53
  failure_message do |policy|
41
- if actions.count == 0
54
+ if actions.count.zero?
42
55
  zero_actions_failure_message
43
56
  else
44
57
  "#{policy.class} expected to forbid #{actions}, but allowed " \
45
- "#{allowed_actions} for #{policy.user.inspect}."
58
+ "#{allowed_actions} for " +
59
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
60
+ .inspect + '.'
46
61
  end
47
62
  end
48
63
 
49
64
  failure_message_when_negated do |policy|
50
- if actions.count == 0
65
+ if actions.count.zero?
51
66
  zero_actions_failure_message
52
67
  else
53
68
  "#{policy.class} expected to permit #{actions}, but forbade " \
54
- "#{allowed_actions} for #{policy.user.inspect}."
69
+ "#{allowed_actions} for " +
70
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
71
+ .inspect + '.'
55
72
  end
56
73
  end
57
74
  end
@@ -62,13 +79,15 @@ module Pundit
62
79
  end
63
80
 
64
81
  failure_message do |policy|
65
- "#{policy.class} does not forbid the edit or update action for " \
66
- "#{policy.user.inspect}."
82
+ "#{policy.class} does not forbid the edit or update action for " +
83
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
84
+ .inspect + '.'
67
85
  end
68
86
 
69
87
  failure_message_when_negated do |policy|
70
- "#{policy.class} does not permit the edit or update action for " \
71
- "#{policy.user.inspect}."
88
+ "#{policy.class} does not permit the edit or update action for " +
89
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
90
+ .inspect + '.'
72
91
  end
73
92
  end
74
93
 
@@ -89,10 +108,14 @@ module Pundit
89
108
  if defined? @action
90
109
  "#{policy.class} does not forbid the mass assignment of the " \
91
110
  "#{attribute} attribute, when authorising the #{@action} action, " \
92
- "for #{policy.user.inspect}."
111
+ 'for ' +
112
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
113
+ .inspect + '.'
93
114
  else
94
115
  "#{policy.class} does not forbid the mass assignment of the " \
95
- "#{attribute} attribute for #{policy.user.inspect}."
116
+ "#{attribute} attribute for " +
117
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
118
+ .inspect + '.'
96
119
  end
97
120
  end
98
121
 
@@ -100,10 +123,14 @@ module Pundit
100
123
  if defined? @action
101
124
  "#{policy.class} does not permit the mass assignment of the " \
102
125
  "#{attribute} attribute, when authorising the #{@action} action, " \
103
- "for #{policy.user.inspect}."
126
+ 'for ' +
127
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
128
+ .inspect + '.'
104
129
  else
105
130
  "#{policy.class} does not permit the mass assignment of the " \
106
- "#{attribute} attribute for #{policy.user.inspect}."
131
+ "#{attribute} attribute for " +
132
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
133
+ .inspect + '.'
107
134
  end
108
135
  end
109
136
  end
@@ -114,13 +141,15 @@ module Pundit
114
141
  end
115
142
 
116
143
  failure_message do |policy|
117
- "#{policy.class} does not forbid the new or create action for " \
118
- "#{policy.user.inspect}."
144
+ "#{policy.class} does not forbid the new or create action for " +
145
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
146
+ .inspect + '.'
119
147
  end
120
148
 
121
149
  failure_message_when_negated do |policy|
122
- "#{policy.class} does not permit the new or create action for " \
123
- "#{policy.user.inspect}."
150
+ "#{policy.class} does not permit the new or create action for " +
151
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
152
+ .inspect + '.'
124
153
  end
125
154
  end
126
155
 
@@ -134,13 +163,15 @@ module Pundit
134
163
  end
135
164
 
136
165
  failure_message do |policy|
137
- "#{policy.class} does not permit #{action} for " \
138
- "#{policy.user.inspect}."
166
+ "#{policy.class} does not permit #{action} for " +
167
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
168
+ .inspect + '.'
139
169
  end
140
170
 
141
171
  failure_message_when_negated do |policy|
142
- "#{policy.class} does not forbid #{action} for " \
143
- "#{policy.user.inspect}."
172
+ "#{policy.class} does not forbid #{action} for " +
173
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
174
+ .inspect + '.'
144
175
  end
145
176
  end
146
177
 
@@ -159,20 +190,24 @@ module Pundit
159
190
  'when using the permit_actions matcher.'
160
191
 
161
192
  failure_message do |policy|
162
- if actions.count == 0
193
+ if actions.count.zero?
163
194
  zero_actions_failure_message
164
195
  else
165
196
  "#{policy.class} expected to permit #{actions}, but forbade " \
166
- "#{forbidden_actions} for #{policy.user.inspect}."
197
+ "#{forbidden_actions} for " +
198
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
199
+ .inspect + '.'
167
200
  end
168
201
  end
169
202
 
170
203
  failure_message_when_negated do |policy|
171
- if actions.count == 0
204
+ if actions.count.zero?
172
205
  zero_actions_failure_message
173
206
  else
174
207
  "#{policy.class} expected to forbid #{actions}, but allowed " \
175
- "#{forbidden_actions} for #{policy.user.inspect}."
208
+ "#{forbidden_actions} for " +
209
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
210
+ .inspect + '.'
176
211
  end
177
212
  end
178
213
  end
@@ -183,13 +218,15 @@ module Pundit
183
218
  end
184
219
 
185
220
  failure_message do |policy|
186
- "#{policy.class} does not permit the edit or update action for " \
187
- "#{policy.user.inspect}."
221
+ "#{policy.class} does not permit the edit or update action for " +
222
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
223
+ .inspect + '.'
188
224
  end
189
225
 
190
226
  failure_message_when_negated do |policy|
191
- "#{policy.class} does not forbid the edit or update action for " \
192
- "#{policy.user.inspect}."
227
+ "#{policy.class} does not forbid the edit or update action for " +
228
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
229
+ .inspect + '.'
193
230
  end
194
231
  end
195
232
 
@@ -210,10 +247,14 @@ module Pundit
210
247
  if defined? @action
211
248
  "#{policy.class} does not permit the mass assignment of the " \
212
249
  "#{attribute} attribute, when authorising the #{@action} action, " \
213
- "for #{policy.user.inspect}."
250
+ 'for ' +
251
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
252
+ .inspect + '.'
214
253
  else
215
254
  "#{policy.class} does not permit the mass assignment of the " \
216
- "#{attribute} attribute for #{policy.user.inspect}."
255
+ "#{attribute} attribute for " +
256
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
257
+ .inspect + '.'
217
258
  end
218
259
  end
219
260
 
@@ -221,10 +262,14 @@ module Pundit
221
262
  if defined? @action
222
263
  "#{policy.class} does not forbid the mass assignment of the " \
223
264
  "#{attribute} attribute, when authorising the #{@action} action, " \
224
- "for #{policy.user.inspect}."
265
+ 'for ' +
266
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
267
+ .inspect + '.'
225
268
  else
226
269
  "#{policy.class} does not forbid the mass assignment of the " \
227
- "#{attribute} attribute for #{policy.user.inspect}."
270
+ "#{attribute} attribute for " +
271
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
272
+ .inspect + '.'
228
273
  end
229
274
  end
230
275
  end
@@ -235,13 +280,15 @@ module Pundit
235
280
  end
236
281
 
237
282
  failure_message do |policy|
238
- "#{policy.class} does not permit the new or create action for " \
239
- "#{policy.user.inspect}."
283
+ "#{policy.class} does not permit the new or create action for " +
284
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
285
+ .inspect + '.'
240
286
  end
241
287
 
242
288
  failure_message_when_negated do |policy|
243
- "#{policy.class} does not forbid the new or create action for " \
244
- "#{policy.user.inspect}."
289
+ "#{policy.class} does not forbid the new or create action for " +
290
+ policy.public_send(Pundit::Matchers.configuration.user_alias)
291
+ .inspect + '.'
245
292
  end
246
293
  end
247
294
  end
metadata CHANGED
@@ -1,49 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pundit-matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Alley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-31 00:00:00.000000000 Z
11
+ date: 2018-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pundit
14
+ name: rspec-rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.1'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 1.1.0
19
+ version: 3.0.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '1.1'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 1.1.0
26
+ version: 3.0.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: rspec-rails
28
+ name: pundit
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
37
34
  - - ">="
38
35
  - !ruby/object:Gem::Version
39
- version: 3.0.0
40
- type: :runtime
36
+ version: 1.1.0
37
+ type: :development
41
38
  prerelease: false
42
39
  version_requirements: !ruby/object:Gem::Requirement
43
40
  requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.1'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 3.0.0
46
+ version: 1.1.0
47
47
  description: A set of RSpec matchers for testing Pundit authorisation policies
48
48
  email: chris@chrisalley.info
49
49
  executables: []