rails-uploader 0.5.0 → 0.5.4

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: b602b1677568ea5d878174c76224c6a61d431efdb93046f8bd3b897dbed63f55
4
- data.tar.gz: e2464535aa4a6f329bee939b98a32fba4193f472111bda3c669c5f8465d1ac62
3
+ metadata.gz: 566c841fcb9d098a1b256c3aff94e01950cdbb0ace03d1c657e8d9fa3c114314
4
+ data.tar.gz: 4ac9416e87c31176a81392e1a958fc90e65f3cc5c70d7faf72e37fdadcb21053
5
5
  SHA512:
6
- metadata.gz: 194158c8d9f7540ed210e11b3cb1b98ff346c35562b960365dba01113caea71b808363832b613a804bcd45b2df2f815506d8c74c25532011384dd027f38f9660
7
- data.tar.gz: d66527e6277747de70d148af352391998c83a75e08418e0a665c31130c1ea5117e06c2c039ce4b8fad73930e75fe5cfe45c77da72e509ee4da6fdb34ed72c5ee
6
+ metadata.gz: d535a4a9a2c9e40d24826c586f6ebf006934f3194f4600390e783659eadbe37955474b8430a1843ed8db6841afc13998cbaf46e2b935a88bc651fccf8806f33c
7
+ data.tar.gz: 1ddd6948b2fd9c202b1a1bfeb9ce491964823bd7a3b861a33f2ad34b7c7e09fd6b452c1b5da312344ccdc9f9de1c6b8f8e42c45a2bcd40489f872f4fedf2e322
data/README.md CHANGED
@@ -41,6 +41,23 @@ class Picture < Asset
41
41
  url(:thumb)
42
42
  end
43
43
  end
44
+
45
+ class PictureUploader < CarrierWave::Uploader::Base
46
+ include CarrierWave::MiniMagick
47
+
48
+ # Choose what kind of storage to use for this uploader:
49
+ storage :file
50
+
51
+ EXTENSION_WHITELIST = %w[jpg jpeg gif png].freeze
52
+
53
+ version :thumb do
54
+ process resize_to_fill: [100, 100]
55
+ end
56
+
57
+ def extension_whitelist
58
+ EXTENSION_WHITELIST
59
+ end
60
+ end
44
61
  ```
45
62
 
46
63
  For example user has one picture:
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'rdoc/task'
3
4
  require 'bundler/gem_tasks'
4
5
  require 'rspec/core/rake_task'
@@ -69,12 +69,6 @@ module Uploader
69
69
  end
70
70
  end
71
71
 
72
- def render_json(hash_or_object, status = 200)
73
- self.status = status
74
- self.content_type = request.format
75
- self.response_body = hash_or_object.to_json(root: false)
76
- end
77
-
78
72
  def asset_params
79
73
  ActionController::Parameters.new(params).require(:asset).permit(:data)
80
74
  end
@@ -1,6 +1,7 @@
1
1
  <%= content_tag(:div, id: field.id, class: 'uploader-dnd-area', data: { tpml: field.klass.to_s, exists: field.exists? }) do -%>
2
2
  <%= hidden_field(field.object_name, :fileupload_guid, object: field.object) if field.object.new_record? %>
3
3
 
4
+ <p class='uploader-errors'></p>
4
5
  <div class="uploader-files"></div>
5
6
 
6
7
  <div class="uploader-dnd-hints">
@@ -1,13 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'active_support/concern'
4
+ require_relative 'json_rendering'
4
5
 
5
6
  module Uploader
6
7
  module Authorization
7
8
  extend ActiveSupport::Concern
8
9
 
9
10
  included do
10
- include ActiveSupport::Rescuable
11
+ include JsonRendering
12
+ include ActionController::Rescue
11
13
 
12
14
  rescue_from Uploader::AccessDenied, with: :dispatch_uploader_access_denied
13
15
  end
@@ -44,7 +46,7 @@ module Uploader
44
46
  end
45
47
 
46
48
  def dispatch_uploader_access_denied(exception)
47
- render json: { message: exception.message }, status: 403
49
+ render_json({ message: exception.message }, 403)
48
50
  end
49
51
 
50
52
  def current_uploader_user
@@ -76,12 +76,21 @@ module Uploader
76
76
  @input_html ||= { multiple: multiple?, class: 'uploader' }.merge(input_html_options)
77
77
  @input_html[:data] ||= {}
78
78
  @input_html[:data][:url] ||= attachments_path(singular: !multiple?)
79
+ @input_html[:accept] ||= extract_extension_whitelist
79
80
  @input_html
80
81
  end
81
82
 
82
83
  def input_html_options
83
84
  @options.reject { |key, _value| RESERVED_OPTIONS_KEYS.include?(key.to_s) }
84
85
  end
86
+
87
+ def extract_extension_whitelist
88
+ return unless klass.respond_to?(:uploaders)
89
+ return unless klass.uploaders[:data].try(:const_defined?, :EXTENSION_WHITELIST)
90
+
91
+ exts = klass.uploaders[:data]::EXTENSION_WHITELIST
92
+ ".#{exts.join(', .')}" if exts.any?
93
+ end
85
94
  end
86
95
  end
87
96
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Uploader
4
+ module JsonRendering
5
+ def render_json(hash_or_object, status = 200)
6
+ self.status = status
7
+ self.content_type = request.format
8
+ self.response_body = hash_or_object.to_json(root: false)
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uploader
4
- VERSION = '0.5.0'.freeze
4
+ VERSION = '0.5.4'
5
5
  end
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  class PictureUploader < CarrierWave::Uploader::Base
4
-
5
4
  # Include RMagick or MiniMagick support:
6
5
  # include CarrierWave::RMagick
7
6
  include CarrierWave::MiniMagick
@@ -51,5 +50,4 @@ class PictureUploader < CarrierWave::Uploader::Base
51
50
  # def filename
52
51
  # "something.jpg" if original_filename
53
52
  # end
54
-
55
53
  end
@@ -173,6 +173,7 @@
173
173
  deferred;
174
174
  var options = that.options;
175
175
  if (options.singular) { options.filesContainer.html(data.context || '') };
176
+ options.dropZone.find('.uploader-errors').text('');
176
177
  if (data.context) {
177
178
  data.context.each(function (index) {
178
179
  var file = files[index] ||
@@ -220,6 +221,9 @@
220
221
  $(this).data('fileupload'),
221
222
  template,
222
223
  deferred;
224
+ try { var errors = data._response.jqXHR.responseJSON.files[0].error || ''}
225
+ catch (e) { var errors = '' }
226
+ that.options.dropZone.find('.uploader-errors').text(errors);
223
227
  if (data.context) {
224
228
  data.context.each(function (index) {
225
229
  if (data.errorThrown !== 'abort') {
@@ -239,6 +243,7 @@
239
243
  that._trigger('failed', e, data);
240
244
  that._trigger('finished', e, data);
241
245
  deferred.resolve();
246
+ data.context.remove();
242
247
  }
243
248
  );
244
249
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-uploader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Galeta
@@ -9,10 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-11-17 00:00:00.000000000 Z
12
+ date: 2022-01-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: sqlite3
15
+ name: carrierwave
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ">="
@@ -26,7 +26,7 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: carrierwave
29
+ name: mongoid
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
@@ -40,7 +40,7 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: mongoid
43
+ name: sqlite3
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
@@ -93,6 +93,7 @@ files:
93
93
  - lib/uploader/hooks/active_record.rb
94
94
  - lib/uploader/hooks/formtastic.rb
95
95
  - lib/uploader/hooks/simple_form.rb
96
+ - lib/uploader/json_rendering.rb
96
97
  - lib/uploader/upload_request.rb
97
98
  - lib/uploader/version.rb
98
99
  - spec/dummy/README.rdoc