active_storage_validations 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77abbd375626f37f0ecae9dc8710249bde59202cb71ea2e925b5c2f026afd025
|
4
|
+
data.tar.gz: 5d694245be38c6f3ea7f3e1d157974e9bd5e63a67be276e25fccde072e48a52e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7e1a56bf9eb906d7bb5c05c2d89d901bbe93ca63ed86423276edb1eb22078f35dd70b40c997c9b0ed7e53df7364c8ed264ca627cf415bf74b8054e1a9d19f00
|
7
|
+
data.tar.gz: 024c5f428d64ed7462e395cea6add2c121b393ccd7d89992a0304fe44e97cdba6eb99b9b5b6ace0a4a199e759d31e08dd2eb1427c3aee4acfa6f624fe8238027
|
data/README.md
CHANGED
@@ -243,10 +243,13 @@ end
|
|
243
243
|
#### Content type shorthands
|
244
244
|
|
245
245
|
If you choose to use a content_type 'shorthand' (like `png`), note that it will be converted to a full content type using `Marcel::MimeType.for` under the hood. Therefore, you should check if the content_type is registered by [`Marcel::EXTENSIONS`](https://github.com/rails/marcel/blob/main/lib/marcel/tables.rb). If it's not, you can register it by adding the following code to your `config/initializers/mime_types.rb` file:
|
246
|
+
|
246
247
|
```ruby
|
247
248
|
Marcel::MimeType.extend "application/ino", extensions: %w(ino), parents: "text/plain" # Registering arduino INO files
|
248
249
|
```
|
249
250
|
|
251
|
+
Be sure to at least include one the the `extensions`, `parents` or `magic` option, otherwise the content type will not be registered.
|
252
|
+
|
250
253
|
#### Content type spoofing protection
|
251
254
|
|
252
255
|
By default, the gem does not prevent content type spoofing. You can enable it by setting the `spoofing_protection` option to `true` in your validator options.
|
@@ -215,12 +215,14 @@ module ActiveStorageValidations
|
|
215
215
|
raise ArgumentError, "'image/jpg' is not a valid content type, you should use 'image/jpeg' instead"
|
216
216
|
end
|
217
217
|
|
218
|
-
all_available_marcel_content_types.
|
218
|
+
all_available_marcel_content_types.exclude?(content_type.to_s)
|
219
219
|
end
|
220
220
|
|
221
221
|
def all_available_marcel_content_types
|
222
|
-
@all_available_marcel_content_types ||= Marcel::
|
223
|
-
|
222
|
+
@all_available_marcel_content_types ||= Marcel::TYPE_EXTS
|
223
|
+
.keys
|
224
|
+
.push(*Marcel::MAGIC.map(&:first))
|
225
|
+
.tap(&:uniq!)
|
224
226
|
end
|
225
227
|
|
226
228
|
def invalid_extension?(content_type)
|
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
module ActiveStorageValidations
|
4
4
|
class Railtie < ::Rails::Railtie
|
5
|
+
initializer 'active_storage_validations.configure', after: :load_config_initializers do
|
6
|
+
ActiveSupport.on_load(:active_record) do
|
7
|
+
send :include, ActiveStorageValidations
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
5
11
|
initializer 'active_storage_validations.extend_active_storage_blob' do
|
6
12
|
ActiveSupport.on_load(:active_storage_blob) do
|
7
13
|
include(ActiveStorageValidations::ASVBlobMetadatable)
|
@@ -14,8 +14,6 @@ require 'active_storage_validations/analyzer/audio_analyzer'
|
|
14
14
|
require 'active_storage_validations/extensors/asv_blob_metadatable'
|
15
15
|
require 'active_storage_validations/extensors/asv_marcelable'
|
16
16
|
|
17
|
-
require 'active_storage_validations/railtie'
|
18
|
-
require 'active_storage_validations/engine'
|
19
17
|
require 'active_storage_validations/attached_validator'
|
20
18
|
require 'active_storage_validations/content_type_validator'
|
21
19
|
require 'active_storage_validations/limit_validator'
|
@@ -26,6 +24,5 @@ require 'active_storage_validations/processable_file_validator'
|
|
26
24
|
require 'active_storage_validations/size_validator'
|
27
25
|
require 'active_storage_validations/total_size_validator'
|
28
26
|
|
29
|
-
|
30
|
-
|
31
|
-
end
|
27
|
+
require 'active_storage_validations/engine'
|
28
|
+
require 'active_storage_validations/railtie'
|
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: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Kasyanchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01
|
11
|
+
date: 2025-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|