glebtv-rails-uploader 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +48 -146
- data/Rakefile +2 -2
- data/app/assets/javascripts/uploader/application.js +5 -6
- data/app/assets/javascripts/uploader/rails_admin.js +6 -25
- data/app/assets/stylesheets/uploader/application.css.sass +2 -0
- data/app/assets/stylesheets/uploader/{application.css → application.css.scss} +0 -0
- data/app/controllers/uploader/attachments_controller.rb +28 -50
- data/app/views/rails_admin/main/_form_rails_uploader.haml +1 -10
- data/app/views/uploader/default/_container.html.erb +49 -64
- data/app/views/uploader/default/_download.html.erb +16 -12
- data/app/views/uploader/default/_upload.html.erb +2 -2
- data/config/routes.rb +1 -5
- data/lib/glebtv-rails-uploader.rb +0 -1
- data/lib/uploader.rb +5 -5
- data/lib/uploader/asset.rb +84 -41
- data/lib/uploader/engine.rb +10 -6
- data/lib/uploader/fileuploads.rb +53 -31
- data/lib/uploader/helpers/field_tag.rb +24 -35
- data/lib/uploader/helpers/form_builder.rb +1 -1
- data/lib/uploader/helpers/form_tag_helper.rb +2 -3
- data/lib/uploader/hooks/formtastic.rb +10 -4
- data/lib/uploader/hooks/simple_form.rb +1 -3
- data/lib/uploader/version.rb +1 -1
- data/spec/dummy/app/models/article.rb +3 -7
- data/spec/dummy/app/models/asset.rb +26 -19
- data/spec/dummy/app/models/picture.rb +4 -4
- data/spec/dummy/config/application.rb +5 -7
- data/spec/dummy/config/environments/development.rb +1 -5
- data/spec/dummy/config/environments/production.rb +0 -4
- data/spec/dummy/config/environments/test.rb +2 -6
- data/spec/dummy/db/migrate/20120508093416_create_assets.rb +3 -1
- data/spec/factories/articles.rb +1 -0
- data/spec/factories/assets.rb +1 -0
- data/spec/fileuploads_spec.rb +2 -2
- data/spec/mongoid_spec.rb +4 -6
- data/spec/requests/attachments_controller_spec.rb +10 -2
- data/spec/spec_helper.rb +7 -3
- data/spec/uploader_spec.rb +1 -1
- data/{app → vendor}/assets/images/uploader/but_del_tag2.png +0 -0
- data/{app → vendor}/assets/images/uploader/ico_attach.png +0 -0
- data/{app → vendor}/assets/images/uploader/preloader.gif +0 -0
- data/{app → vendor}/assets/images/uploader/progressBarFillBg.png +0 -0
- data/vendor/assets/javascripts/uploader/jquery.fileupload-fp.js +8 -4
- data/{app → vendor}/assets/javascripts/uploader/jquery.fileupload-ui.js +219 -44
- data/{app → vendor}/assets/javascripts/uploader/jquery.fileupload.js +16 -74
- data/{app → vendor}/assets/javascripts/uploader/jquery.iframe-transport.js +3 -9
- data/vendor/assets/javascripts/uploader/load-image.min.js +1 -0
- data/{app → vendor}/assets/javascripts/uploader/locales/en.js +0 -0
- data/{app → vendor}/assets/javascripts/uploader/locales/ru.js +0 -0
- data/{app → vendor}/assets/javascripts/uploader/locales/uk.js +0 -0
- data/vendor/assets/javascripts/uploader/tmpl.min.js +1 -0
- data/{app/assets/stylesheets/uploader/default.css → vendor/assets/stylesheets/uploader/default.css.scss} +3 -11
- data/{app/assets/stylesheets/uploader/jquery.fileupload-ui.css → vendor/assets/stylesheets/uploader/jquery.fileupload-ui.css.scss} +0 -0
- metadata +78 -146
- data/app/assets/javascripts/uploader/canvas-to-blob.js +0 -95
- data/app/assets/javascripts/uploader/jquery.fileupload-angular.js +0 -348
- data/app/assets/javascripts/uploader/jquery.fileupload-process.js +0 -158
- data/app/assets/javascripts/uploader/jquery.fileupload-resize.js +0 -212
- data/app/assets/javascripts/uploader/jquery.fileupload-validate.js +0 -116
- data/app/assets/javascripts/uploader/jquery.ui.widget.js +0 -530
- data/app/assets/javascripts/uploader/load-image.js +0 -381
- data/app/assets/javascripts/uploader/tmpl.js +0 -86
- data/lib/file_size_validator.rb +0 -68
- data/spec/dummy/config/mongoid.yml +0 -12
data/lib/file_size_validator.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
# file_size_validator.rb
|
2
|
-
# Based on: https://gist.github.com/795665
|
3
|
-
|
4
|
-
require 'singleton'
|
5
|
-
|
6
|
-
class FileSizeValidator < ActiveModel::EachValidator
|
7
|
-
MESSAGES = { :is => :wrong_size, :minimum => :size_too_small, :maximum => :size_too_big }.freeze
|
8
|
-
CHECKS = { :is => :==, :minimum => :>=, :maximum => :<= }.freeze
|
9
|
-
|
10
|
-
DEFAULT_TOKENIZER = lambda { |value| value.split(//) }
|
11
|
-
RESERVED_OPTIONS = [:minimum, :maximum, :within, :is, :tokenizer, :too_short, :too_long]
|
12
|
-
|
13
|
-
def initialize(options)
|
14
|
-
if range = (options.delete(:in) || options.delete(:within))
|
15
|
-
raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
|
16
|
-
options[:minimum], options[:maximum] = range.begin, range.end
|
17
|
-
options[:maximum] -= 1 if range.exclude_end?
|
18
|
-
end
|
19
|
-
|
20
|
-
super
|
21
|
-
end
|
22
|
-
|
23
|
-
def check_validity!
|
24
|
-
keys = CHECKS.keys & options.keys
|
25
|
-
|
26
|
-
if keys.empty?
|
27
|
-
raise ArgumentError, 'Range unspecified. Specify the :within, :maximum, :minimum, or :is option.'
|
28
|
-
end
|
29
|
-
|
30
|
-
keys.each do |key|
|
31
|
-
value = options[key]
|
32
|
-
|
33
|
-
unless value.is_a?(Integer) && value >= 0
|
34
|
-
raise ArgumentError, ":#{key} must be a nonnegative Integer"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def validate_each(record, attribute, value)
|
40
|
-
raise(ArgumentError, "A CarrierWave::Uploader::Base object was expected") unless value.kind_of? CarrierWave::Uploader::Base
|
41
|
-
value = (options[:tokenizer] || DEFAULT_TOKENIZER).call(value) if value.kind_of?(String)
|
42
|
-
|
43
|
-
CHECKS.each do |key, validity_check|
|
44
|
-
next unless check_value = options[key]
|
45
|
-
|
46
|
-
value ||= [] if key == :maximum
|
47
|
-
|
48
|
-
value_size = value.size
|
49
|
-
next if value_size.send(validity_check, check_value)
|
50
|
-
|
51
|
-
errors_options = options.except(*RESERVED_OPTIONS)
|
52
|
-
errors_options[:file_size] = help.number_to_human_size check_value
|
53
|
-
|
54
|
-
default_message = options[MESSAGES[key]]
|
55
|
-
errors_options[:message] ||= default_message if default_message
|
56
|
-
|
57
|
-
record.errors.add(attribute, MESSAGES[key], errors_options)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
def help
|
61
|
-
Helper.instance
|
62
|
-
end
|
63
|
-
|
64
|
-
class Helper
|
65
|
-
include Singleton
|
66
|
-
include ActionView::Helpers::NumberHelper
|
67
|
-
end
|
68
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
test:
|
2
|
-
sessions:
|
3
|
-
default:
|
4
|
-
database: rails-upload-test
|
5
|
-
hosts:
|
6
|
-
- localhost:27017
|
7
|
-
options:
|
8
|
-
consistency: :strong
|
9
|
-
# In the test environment we lower the retries and retry interval to
|
10
|
-
# low amounts for fast failures.
|
11
|
-
max_retries: 1
|
12
|
-
retry_interval: 0
|