active_storage_validations 0.3 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf531e574b50d7706bdf19e76d59a43fe0ed24c24544949a5536b405f1f90366
4
- data.tar.gz: e337c696052227779453d2e111a608f58e5ab26dca6d8f0ced9669b9c029272e
3
+ metadata.gz: 0f851e68789d12a6cbc4ac6173b78db69614ba6faf29a920f9d5c2ecade36b1c
4
+ data.tar.gz: 3bff45f9bc8606a75c04311b1a8735ebe2f1e248aaaab8f3297491a8d97cfa7f
5
5
  SHA512:
6
- metadata.gz: d6489c3442ea44b4e804f0e8c3a11cb44a2d1aa5182b4390b1c533b8cc1288df8bb2c094d523bbbe0366f7ce8100abc0038c5ec82f1d698e414497e88662e82e
7
- data.tar.gz: aa771cae35376ee2924a36b388927748c6e6de00b47a60aff1dc79e29cf1978a227ff31e0b9fe6e7f7a4a21338e2aea604bd6eb7e1f77ece085daafcec32a698
6
+ metadata.gz: c21d42b022f1a06c13d35cbc944f5c57ae594ef795517241e3fd933a3c57a2fd56630999d356b54200ddf601d86aa89823feb627894db1b3fe096b4189eee7cd
7
+ data.tar.gz: b14226508ca1ac0ecd53ceda8978935e20fb47ee950d6941383c1d8d076d42de35a5085dd14c6713f61cf649d963e33c363b00036a375dfc6964a107f64cdb1b
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ActiveStorage Validations
1
+ # Active Storage Validations
2
2
 
3
3
  If you are using `active_storage` gem and you want to add simple validations for it, like presence or content_type you need to write a custom valiation method.
4
4
 
@@ -16,7 +16,7 @@ class User < ApplicationRecord
16
16
  validates :name, presence: true
17
17
 
18
18
  validates :avatar, attached: true, content_type: 'image/png'
19
- validates :photos, attached: true, content_type: ['image/png', 'image/jpg']
19
+ validates :photos, attached: true, content_type: ['image/png', 'image/jpg', 'image/jpeg']
20
20
  end
21
21
  ```
22
22
 
@@ -47,6 +47,12 @@ And then execute:
47
47
  $ bundle
48
48
  ```
49
49
 
50
+ ## Sample
51
+
52
+ Very simple example of validation with file attached, content type check and custom error message.
53
+
54
+ [![Sample](https://raw.githubusercontent.com/igorkasyanchuk/active_storage_validations/master/docs/preview.png)](https://raw.githubusercontent.com/igorkasyanchuk/active_storage_validations/master/docs/preview.png)
55
+
50
56
  ## Todo
51
57
  * verify with remote storages
52
58
  * better error message when content_type is invalid
@@ -11,17 +11,9 @@ module ActiveStorageValidations
11
11
  end
12
12
 
13
13
  class ContentTypeValidator < ActiveModel::EachValidator
14
-
15
- # def initialize(options)
16
- # super(options)
17
- # end
18
-
19
14
  def validate_each(record, attribute, value)
20
15
  files = record.send(attribute)
21
16
 
22
- # puts "#{attribute} --- #{value} --- #{options[:with]} --- #{options}"
23
-
24
- # only attached
25
17
  return true unless files.attached?
26
18
  return true if types.empty?
27
19
 
@@ -40,7 +32,7 @@ module ActiveStorageValidations
40
32
  end
41
33
 
42
34
  def content_type_valid?(file)
43
- file.blob.content_type.in?(types)
35
+ file.blob.present? && file.blob.content_type.in?(types)
44
36
  end
45
37
 
46
38
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveStorageValidations
2
- VERSION = '0.3'
2
+ VERSION = '0.3.1'
3
3
  end
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: '0.3'
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Kasyanchuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-28 00:00:00.000000000 Z
11
+ date: 2018-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails