active_storage_validations 1.1.4 → 1.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -33
  3. data/config/locales/da.yml +33 -0
  4. data/config/locales/de.yml +6 -0
  5. data/config/locales/en.yml +6 -0
  6. data/config/locales/es.yml +6 -0
  7. data/config/locales/fr.yml +6 -0
  8. data/config/locales/it.yml +6 -0
  9. data/config/locales/ja.yml +6 -0
  10. data/config/locales/nl.yml +6 -0
  11. data/config/locales/pl.yml +6 -0
  12. data/config/locales/pt-BR.yml +6 -0
  13. data/config/locales/ru.yml +6 -0
  14. data/config/locales/sv.yml +11 -1
  15. data/config/locales/tr.yml +6 -0
  16. data/config/locales/uk.yml +6 -0
  17. data/config/locales/vi.yml +6 -0
  18. data/config/locales/zh-CN.yml +6 -0
  19. data/lib/active_storage_validations/aspect_ratio_validator.rb +10 -34
  20. data/lib/active_storage_validations/attached_validator.rb +6 -4
  21. data/lib/active_storage_validations/base_size_validator.rb +68 -0
  22. data/lib/active_storage_validations/concerns/active_storageable.rb +28 -0
  23. data/lib/active_storage_validations/concerns/errorable.rb +4 -5
  24. data/lib/active_storage_validations/concerns/loggable.rb +9 -0
  25. data/lib/active_storage_validations/concerns/metadatable.rb +31 -0
  26. data/lib/active_storage_validations/content_type_spoof_detector.rb +130 -0
  27. data/lib/active_storage_validations/content_type_validator.rb +56 -22
  28. data/lib/active_storage_validations/dimension_validator.rb +31 -52
  29. data/lib/active_storage_validations/limit_validator.rb +5 -3
  30. data/lib/active_storage_validations/marcel_extensor.rb +5 -0
  31. data/lib/active_storage_validations/matchers/aspect_ratio_validator_matcher.rb +6 -15
  32. data/lib/active_storage_validations/matchers/attached_validator_matcher.rb +5 -13
  33. data/lib/active_storage_validations/matchers/base_size_validator_matcher.rb +134 -0
  34. data/lib/active_storage_validations/matchers/concerns/attachable.rb +66 -0
  35. data/lib/active_storage_validations/matchers/concerns/contextable.rb +20 -8
  36. data/lib/active_storage_validations/matchers/concerns/messageable.rb +1 -1
  37. data/lib/active_storage_validations/matchers/concerns/validatable.rb +9 -3
  38. data/lib/active_storage_validations/matchers/content_type_validator_matcher.rb +12 -2
  39. data/lib/active_storage_validations/matchers/dimension_validator_matcher.rb +6 -15
  40. data/lib/active_storage_validations/matchers/limit_validator_matcher.rb +127 -0
  41. data/lib/active_storage_validations/matchers/processable_image_validator_matcher.rb +78 -0
  42. data/lib/active_storage_validations/matchers/size_validator_matcher.rb +4 -139
  43. data/lib/active_storage_validations/matchers/total_size_validator_matcher.rb +31 -0
  44. data/lib/active_storage_validations/matchers.rb +6 -15
  45. data/lib/active_storage_validations/metadata.rb +27 -12
  46. data/lib/active_storage_validations/processable_image_validator.rb +17 -32
  47. data/lib/active_storage_validations/size_validator.rb +6 -55
  48. data/lib/active_storage_validations/total_size_validator.rb +45 -0
  49. data/lib/active_storage_validations/version.rb +1 -1
  50. data/lib/active_storage_validations.rb +4 -1
  51. metadata +45 -46
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_storage_validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Kasyanchuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-26 00:00:00.000000000 Z
11
+ date: 2024-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -16,70 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.0
19
+ version: 6.1.4
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: 5.2.0
26
+ version: 6.1.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 5.2.0
33
+ version: 6.1.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 5.2.0
40
+ version: 6.1.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activestorage
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 5.2.0
47
+ version: 6.1.4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 5.2.0
54
+ version: 6.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 5.2.0
61
+ version: 6.1.4
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 5.2.0
69
- - !ruby/object:Gem::Dependency
70
- name: minitest-focus
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.4'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.4'
68
+ version: 6.1.4
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: combustion
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,49 +81,49 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '1.3'
97
83
  - !ruby/object:Gem::Dependency
98
- name: mini_magick
84
+ name: marcel
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
102
88
  - !ruby/object:Gem::Version
103
- version: 4.9.5
89
+ version: 1.0.3
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - ">="
109
95
  - !ruby/object:Gem::Version
110
- version: 4.9.5
96
+ version: 1.0.3
111
97
  - !ruby/object:Gem::Dependency
112
- name: ruby-vips
98
+ name: mini_magick
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
116
102
  - !ruby/object:Gem::Version
117
- version: 2.1.0
103
+ version: 4.9.5
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - ">="
123
109
  - !ruby/object:Gem::Version
124
- version: 2.1.0
110
+ version: 4.9.5
125
111
  - !ruby/object:Gem::Dependency
126
- name: pry
112
+ name: minitest-focus
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - ">="
115
+ - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '0'
117
+ version: '1.4'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - ">="
122
+ - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '1.4'
139
125
  - !ruby/object:Gem::Dependency
140
- name: rubocop
126
+ name: pry
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - ">="
@@ -151,21 +137,21 @@ dependencies:
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: sqlite3
140
+ name: ruby-vips
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - ">="
158
144
  - !ruby/object:Gem::Version
159
- version: '0'
145
+ version: 2.1.0
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - ">="
165
151
  - !ruby/object:Gem::Version
166
- version: '0'
152
+ version: 2.1.0
167
153
  - !ruby/object:Gem::Dependency
168
- name: marcel
154
+ name: simplecov
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - ">="
@@ -179,7 +165,7 @@ dependencies:
179
165
  - !ruby/object:Gem::Version
180
166
  version: '0'
181
167
  - !ruby/object:Gem::Dependency
182
- name: simplecov
168
+ name: sqlite3
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - ">="
@@ -193,19 +179,19 @@ dependencies:
193
179
  - !ruby/object:Gem::Version
194
180
  version: '0'
195
181
  - !ruby/object:Gem::Dependency
196
- name: globalid
182
+ name: webmock
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - ">="
200
186
  - !ruby/object:Gem::Version
201
- version: '0'
187
+ version: '3'
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - ">="
207
193
  - !ruby/object:Gem::Version
208
- version: '0'
194
+ version: '3'
209
195
  description: Validations for Active Storage (presence)
210
196
  email:
211
197
  - igorkasyanchuk@gmail.com
@@ -216,6 +202,7 @@ files:
216
202
  - MIT-LICENSE
217
203
  - README.md
218
204
  - Rakefile
205
+ - config/locales/da.yml
219
206
  - config/locales/de.yml
220
207
  - config/locales/en.yml
221
208
  - config/locales/es.yml
@@ -234,29 +221,41 @@ files:
234
221
  - lib/active_storage_validations.rb
235
222
  - lib/active_storage_validations/aspect_ratio_validator.rb
236
223
  - lib/active_storage_validations/attached_validator.rb
224
+ - lib/active_storage_validations/base_size_validator.rb
225
+ - lib/active_storage_validations/concerns/active_storageable.rb
237
226
  - lib/active_storage_validations/concerns/errorable.rb
227
+ - lib/active_storage_validations/concerns/loggable.rb
228
+ - lib/active_storage_validations/concerns/metadatable.rb
238
229
  - lib/active_storage_validations/concerns/symbolizable.rb
230
+ - lib/active_storage_validations/content_type_spoof_detector.rb
239
231
  - lib/active_storage_validations/content_type_validator.rb
240
232
  - lib/active_storage_validations/dimension_validator.rb
241
233
  - lib/active_storage_validations/engine.rb
242
234
  - lib/active_storage_validations/limit_validator.rb
235
+ - lib/active_storage_validations/marcel_extensor.rb
243
236
  - lib/active_storage_validations/matchers.rb
244
237
  - lib/active_storage_validations/matchers/aspect_ratio_validator_matcher.rb
245
238
  - lib/active_storage_validations/matchers/attached_validator_matcher.rb
239
+ - lib/active_storage_validations/matchers/base_size_validator_matcher.rb
246
240
  - lib/active_storage_validations/matchers/concerns/active_storageable.rb
247
241
  - lib/active_storage_validations/matchers/concerns/allow_blankable.rb
242
+ - lib/active_storage_validations/matchers/concerns/attachable.rb
248
243
  - lib/active_storage_validations/matchers/concerns/contextable.rb
249
244
  - lib/active_storage_validations/matchers/concerns/messageable.rb
250
245
  - lib/active_storage_validations/matchers/concerns/rspecable.rb
251
246
  - lib/active_storage_validations/matchers/concerns/validatable.rb
252
247
  - lib/active_storage_validations/matchers/content_type_validator_matcher.rb
253
248
  - lib/active_storage_validations/matchers/dimension_validator_matcher.rb
249
+ - lib/active_storage_validations/matchers/limit_validator_matcher.rb
250
+ - lib/active_storage_validations/matchers/processable_image_validator_matcher.rb
254
251
  - lib/active_storage_validations/matchers/size_validator_matcher.rb
252
+ - lib/active_storage_validations/matchers/total_size_validator_matcher.rb
255
253
  - lib/active_storage_validations/metadata.rb
256
254
  - lib/active_storage_validations/option_proc_unfolding.rb
257
255
  - lib/active_storage_validations/processable_image_validator.rb
258
256
  - lib/active_storage_validations/railtie.rb
259
257
  - lib/active_storage_validations/size_validator.rb
258
+ - lib/active_storage_validations/total_size_validator.rb
260
259
  - lib/active_storage_validations/version.rb
261
260
  - lib/tasks/active_storage_validations_tasks.rake
262
261
  homepage: https://github.com/igorkasyanchuk/active_storage_validations
@@ -272,14 +271,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
272
271
  requirements:
273
272
  - - ">="
274
273
  - !ruby/object:Gem::Version
275
- version: '0'
274
+ version: 2.5.0
276
275
  required_rubygems_version: !ruby/object:Gem::Requirement
277
276
  requirements:
278
277
  - - ">="
279
278
  - !ruby/object:Gem::Version
280
279
  version: '0'
281
280
  requirements: []
282
- rubygems_version: 3.4.10
281
+ rubygems_version: 3.5.11
283
282
  signing_key:
284
283
  specification_version: 4
285
284
  summary: Validations for Active Storage