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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +48 -146
  3. data/Rakefile +2 -2
  4. data/app/assets/javascripts/uploader/application.js +5 -6
  5. data/app/assets/javascripts/uploader/rails_admin.js +6 -25
  6. data/app/assets/stylesheets/uploader/application.css.sass +2 -0
  7. data/app/assets/stylesheets/uploader/{application.css → application.css.scss} +0 -0
  8. data/app/controllers/uploader/attachments_controller.rb +28 -50
  9. data/app/views/rails_admin/main/_form_rails_uploader.haml +1 -10
  10. data/app/views/uploader/default/_container.html.erb +49 -64
  11. data/app/views/uploader/default/_download.html.erb +16 -12
  12. data/app/views/uploader/default/_upload.html.erb +2 -2
  13. data/config/routes.rb +1 -5
  14. data/lib/glebtv-rails-uploader.rb +0 -1
  15. data/lib/uploader.rb +5 -5
  16. data/lib/uploader/asset.rb +84 -41
  17. data/lib/uploader/engine.rb +10 -6
  18. data/lib/uploader/fileuploads.rb +53 -31
  19. data/lib/uploader/helpers/field_tag.rb +24 -35
  20. data/lib/uploader/helpers/form_builder.rb +1 -1
  21. data/lib/uploader/helpers/form_tag_helper.rb +2 -3
  22. data/lib/uploader/hooks/formtastic.rb +10 -4
  23. data/lib/uploader/hooks/simple_form.rb +1 -3
  24. data/lib/uploader/version.rb +1 -1
  25. data/spec/dummy/app/models/article.rb +3 -7
  26. data/spec/dummy/app/models/asset.rb +26 -19
  27. data/spec/dummy/app/models/picture.rb +4 -4
  28. data/spec/dummy/config/application.rb +5 -7
  29. data/spec/dummy/config/environments/development.rb +1 -5
  30. data/spec/dummy/config/environments/production.rb +0 -4
  31. data/spec/dummy/config/environments/test.rb +2 -6
  32. data/spec/dummy/db/migrate/20120508093416_create_assets.rb +3 -1
  33. data/spec/factories/articles.rb +1 -0
  34. data/spec/factories/assets.rb +1 -0
  35. data/spec/fileuploads_spec.rb +2 -2
  36. data/spec/mongoid_spec.rb +4 -6
  37. data/spec/requests/attachments_controller_spec.rb +10 -2
  38. data/spec/spec_helper.rb +7 -3
  39. data/spec/uploader_spec.rb +1 -1
  40. data/{app → vendor}/assets/images/uploader/but_del_tag2.png +0 -0
  41. data/{app → vendor}/assets/images/uploader/ico_attach.png +0 -0
  42. data/{app → vendor}/assets/images/uploader/preloader.gif +0 -0
  43. data/{app → vendor}/assets/images/uploader/progressBarFillBg.png +0 -0
  44. data/vendor/assets/javascripts/uploader/jquery.fileupload-fp.js +8 -4
  45. data/{app → vendor}/assets/javascripts/uploader/jquery.fileupload-ui.js +219 -44
  46. data/{app → vendor}/assets/javascripts/uploader/jquery.fileupload.js +16 -74
  47. data/{app → vendor}/assets/javascripts/uploader/jquery.iframe-transport.js +3 -9
  48. data/vendor/assets/javascripts/uploader/load-image.min.js +1 -0
  49. data/{app → vendor}/assets/javascripts/uploader/locales/en.js +0 -0
  50. data/{app → vendor}/assets/javascripts/uploader/locales/ru.js +0 -0
  51. data/{app → vendor}/assets/javascripts/uploader/locales/uk.js +0 -0
  52. data/vendor/assets/javascripts/uploader/tmpl.min.js +1 -0
  53. data/{app/assets/stylesheets/uploader/default.css → vendor/assets/stylesheets/uploader/default.css.scss} +3 -11
  54. data/{app/assets/stylesheets/uploader/jquery.fileupload-ui.css → vendor/assets/stylesheets/uploader/jquery.fileupload-ui.css.scss} +0 -0
  55. metadata +78 -146
  56. data/app/assets/javascripts/uploader/canvas-to-blob.js +0 -95
  57. data/app/assets/javascripts/uploader/jquery.fileupload-angular.js +0 -348
  58. data/app/assets/javascripts/uploader/jquery.fileupload-process.js +0 -158
  59. data/app/assets/javascripts/uploader/jquery.fileupload-resize.js +0 -212
  60. data/app/assets/javascripts/uploader/jquery.fileupload-validate.js +0 -116
  61. data/app/assets/javascripts/uploader/jquery.ui.widget.js +0 -530
  62. data/app/assets/javascripts/uploader/load-image.js +0 -381
  63. data/app/assets/javascripts/uploader/tmpl.js +0 -86
  64. data/lib/file_size_validator.rb +0 -68
  65. data/spec/dummy/config/mongoid.yml +0 -12
@@ -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