delayed_paperclip 2.9.1 → 2.9.2

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.travis.yml +5 -6
  4. data/Appraisals +1 -5
  5. data/CONTRIBUTING +0 -3
  6. data/README.md +43 -11
  7. data/Rakefile +0 -13
  8. data/delayed_paperclip.gemspec +3 -3
  9. data/gemfiles/3.2.gemfile +0 -1
  10. data/gemfiles/4.0.gemfile +0 -1
  11. data/gemfiles/4.1.gemfile +0 -1
  12. data/gemfiles/4.2.gemfile +0 -1
  13. data/lib/delayed_paperclip.rb +6 -7
  14. data/lib/delayed_paperclip/attachment.rb +12 -6
  15. data/lib/delayed_paperclip/jobs/active_job.rb +3 -5
  16. data/lib/delayed_paperclip/jobs/delayed_job.rb +3 -2
  17. data/lib/delayed_paperclip/jobs/resque.rb +2 -3
  18. data/lib/delayed_paperclip/jobs/sidekiq.rb +7 -1
  19. data/lib/delayed_paperclip/railtie.rb +1 -1
  20. data/lib/delayed_paperclip/url_generator.rb +19 -25
  21. data/lib/delayed_paperclip/version.rb +1 -1
  22. data/spec/delayed_paperclip/attachment_spec.rb +98 -26
  23. data/spec/delayed_paperclip/class_methods_spec.rb +20 -12
  24. data/spec/delayed_paperclip/instance_methods_spec.rb +8 -12
  25. data/spec/delayed_paperclip/url_generator_spec.rb +24 -24
  26. data/spec/delayed_paperclip_spec.rb +37 -22
  27. data/spec/integration/active_job_inline_spec.rb +3 -3
  28. data/spec/integration/active_job_resque_spec.rb +4 -7
  29. data/spec/integration/active_job_sidekiq_spec.rb +17 -18
  30. data/spec/integration/base_delayed_paperclip_spec.rb +5 -6
  31. data/spec/integration/delayed_job_spec.rb +3 -4
  32. data/spec/integration/examples/base.rb +33 -25
  33. data/spec/integration/resque_spec.rb +4 -6
  34. data/spec/integration/sidekiq_spec.rb +8 -11
  35. data/spec/spec_helper.rb +15 -0
  36. metadata +23 -19
  37. data/gemfiles/3.2.gemfile.lock +0 -162
  38. data/gemfiles/4.0.gemfile.lock +0 -156
  39. data/gemfiles/4.1.gemfile.lock +0 -156
  40. data/gemfiles/4.2.gemfile.lock +0 -181
  41. data/test/base_delayed_paperclip_test.rb +0 -254
  42. data/test/database.yml +0 -4
  43. data/test/test_helper.rb +0 -106
@@ -1,156 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- delayed_paperclip (2.9.1)
5
- paperclip (>= 3.3)
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- actionmailer (4.1.8)
11
- actionpack (= 4.1.8)
12
- actionview (= 4.1.8)
13
- mail (~> 2.5, >= 2.5.4)
14
- actionpack (4.1.8)
15
- actionview (= 4.1.8)
16
- activesupport (= 4.1.8)
17
- rack (~> 1.5.2)
18
- rack-test (~> 0.6.2)
19
- actionview (4.1.8)
20
- activesupport (= 4.1.8)
21
- builder (~> 3.1)
22
- erubis (~> 2.7.0)
23
- activemodel (4.1.8)
24
- activesupport (= 4.1.8)
25
- builder (~> 3.1)
26
- activerecord (4.1.8)
27
- activemodel (= 4.1.8)
28
- activesupport (= 4.1.8)
29
- arel (~> 5.0.0)
30
- activesupport (4.1.8)
31
- i18n (~> 0.6, >= 0.6.9)
32
- json (~> 1.7, >= 1.7.7)
33
- minitest (~> 5.1)
34
- thread_safe (~> 0.1)
35
- tzinfo (~> 1.1)
36
- appraisal (1.0.2)
37
- bundler
38
- rake
39
- thor (>= 0.14.0)
40
- arel (5.0.1.20140414130214)
41
- builder (3.2.2)
42
- celluloid (0.15.2)
43
- timers (~> 1.1.0)
44
- climate_control (0.0.3)
45
- activesupport (>= 3.0)
46
- cocaine (0.5.5)
47
- climate_control (>= 0.0.3, < 1.0)
48
- connection_pool (2.1.0)
49
- delayed_job (4.0.6)
50
- activesupport (>= 3.0, < 5.0)
51
- delayed_job_active_record (4.0.3)
52
- activerecord (>= 3.0, < 5.0)
53
- delayed_job (>= 3.0, < 4.1)
54
- diff-lcs (1.2.5)
55
- erubis (2.7.0)
56
- hike (1.2.3)
57
- i18n (0.7.0)
58
- json (1.8.1)
59
- mail (2.6.3)
60
- mime-types (>= 1.16, < 3)
61
- metaclass (0.0.4)
62
- mime-types (2.4.3)
63
- minitest (5.5.0)
64
- mocha (1.1.0)
65
- metaclass (~> 0.0.1)
66
- mono_logger (1.1.0)
67
- multi_json (1.10.1)
68
- paperclip (4.2.1)
69
- activemodel (>= 3.0.0)
70
- activesupport (>= 3.0.0)
71
- cocaine (~> 0.5.3)
72
- mime-types
73
- rack (1.5.2)
74
- rack-protection (1.5.3)
75
- rack
76
- rack-test (0.6.2)
77
- rack (>= 1.0)
78
- rails (4.1.8)
79
- actionmailer (= 4.1.8)
80
- actionpack (= 4.1.8)
81
- actionview (= 4.1.8)
82
- activemodel (= 4.1.8)
83
- activerecord (= 4.1.8)
84
- activesupport (= 4.1.8)
85
- bundler (>= 1.3.0, < 2.0)
86
- railties (= 4.1.8)
87
- sprockets-rails (~> 2.0)
88
- railties (4.1.8)
89
- actionpack (= 4.1.8)
90
- activesupport (= 4.1.8)
91
- rake (>= 0.8.7)
92
- thor (>= 0.18.1, < 2.0)
93
- rake (10.4.2)
94
- redis (3.2.0)
95
- redis-namespace (1.5.1)
96
- redis (~> 3.0, >= 3.0.4)
97
- resque (1.25.2)
98
- mono_logger (~> 1.0)
99
- multi_json (~> 1.0)
100
- redis-namespace (~> 1.3)
101
- sinatra (>= 0.9.2)
102
- vegas (~> 0.1.2)
103
- rspec (2.99.0)
104
- rspec-core (~> 2.99.0)
105
- rspec-expectations (~> 2.99.0)
106
- rspec-mocks (~> 2.99.0)
107
- rspec-core (2.99.2)
108
- rspec-expectations (2.99.2)
109
- diff-lcs (>= 1.1.3, < 2.0)
110
- rspec-mocks (2.99.2)
111
- sidekiq (2.17.8)
112
- celluloid (= 0.15.2)
113
- connection_pool (~> 2.0)
114
- json
115
- redis (~> 3.1)
116
- redis-namespace (~> 1.3)
117
- sinatra (1.4.5)
118
- rack (~> 1.4)
119
- rack-protection (~> 1.4)
120
- tilt (~> 1.3, >= 1.3.4)
121
- sprockets (2.12.3)
122
- hike (~> 1.2)
123
- multi_json (~> 1.0)
124
- rack (~> 1.0)
125
- tilt (~> 1.1, != 1.3.0)
126
- sprockets-rails (2.2.2)
127
- actionpack (>= 3.0)
128
- activesupport (>= 3.0)
129
- sprockets (>= 2.8, < 4.0)
130
- sqlite3 (1.3.10)
131
- thor (0.19.1)
132
- thread_safe (0.3.4)
133
- tilt (1.4.1)
134
- timers (1.1.0)
135
- tzinfo (1.2.2)
136
- thread_safe (~> 0.1)
137
- vegas (0.1.11)
138
- rack (>= 1.0.0)
139
-
140
- PLATFORMS
141
- ruby
142
-
143
- DEPENDENCIES
144
- appraisal
145
- bundler
146
- delayed_job
147
- delayed_job_active_record
148
- delayed_paperclip!
149
- mocha
150
- rails (~> 4.1.0)
151
- railties
152
- rake
153
- resque
154
- rspec (< 3.0)
155
- sidekiq (< 3.0)
156
- sqlite3
@@ -1,181 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- delayed_paperclip (2.9.1)
5
- paperclip (>= 3.3)
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- actionmailer (4.2.0)
11
- actionpack (= 4.2.0)
12
- actionview (= 4.2.0)
13
- activejob (= 4.2.0)
14
- mail (~> 2.5, >= 2.5.4)
15
- rails-dom-testing (~> 1.0, >= 1.0.5)
16
- actionpack (4.2.0)
17
- actionview (= 4.2.0)
18
- activesupport (= 4.2.0)
19
- rack (~> 1.6.0)
20
- rack-test (~> 0.6.2)
21
- rails-dom-testing (~> 1.0, >= 1.0.5)
22
- rails-html-sanitizer (~> 1.0, >= 1.0.1)
23
- actionview (4.2.0)
24
- activesupport (= 4.2.0)
25
- builder (~> 3.1)
26
- erubis (~> 2.7.0)
27
- rails-dom-testing (~> 1.0, >= 1.0.5)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.1)
29
- activejob (4.2.0)
30
- activesupport (= 4.2.0)
31
- globalid (>= 0.3.0)
32
- activemodel (4.2.0)
33
- activesupport (= 4.2.0)
34
- builder (~> 3.1)
35
- activerecord (4.2.0)
36
- activemodel (= 4.2.0)
37
- activesupport (= 4.2.0)
38
- arel (~> 6.0)
39
- activesupport (4.2.0)
40
- i18n (~> 0.7)
41
- json (~> 1.7, >= 1.7.7)
42
- minitest (~> 5.1)
43
- thread_safe (~> 0.3, >= 0.3.4)
44
- tzinfo (~> 1.1)
45
- appraisal (1.0.2)
46
- bundler
47
- rake
48
- thor (>= 0.14.0)
49
- arel (6.0.0)
50
- builder (3.2.2)
51
- celluloid (0.15.2)
52
- timers (~> 1.1.0)
53
- climate_control (0.0.3)
54
- activesupport (>= 3.0)
55
- cocaine (0.5.5)
56
- climate_control (>= 0.0.3, < 1.0)
57
- connection_pool (2.1.0)
58
- delayed_job (4.0.6)
59
- activesupport (>= 3.0, < 5.0)
60
- delayed_job_active_record (4.0.3)
61
- activerecord (>= 3.0, < 5.0)
62
- delayed_job (>= 3.0, < 4.1)
63
- diff-lcs (1.2.5)
64
- erubis (2.7.0)
65
- globalid (0.3.0)
66
- activesupport (>= 4.1.0)
67
- hike (1.2.3)
68
- i18n (0.7.0)
69
- json (1.8.1)
70
- loofah (2.0.1)
71
- nokogiri (>= 1.5.9)
72
- mail (2.6.3)
73
- mime-types (>= 1.16, < 3)
74
- metaclass (0.0.4)
75
- mime-types (2.4.3)
76
- mini_portile (0.6.1)
77
- minitest (5.5.0)
78
- mocha (1.1.0)
79
- metaclass (~> 0.0.1)
80
- mono_logger (1.1.0)
81
- multi_json (1.10.1)
82
- nokogiri (1.6.5)
83
- mini_portile (~> 0.6.0)
84
- paperclip (4.2.1)
85
- activemodel (>= 3.0.0)
86
- activesupport (>= 3.0.0)
87
- cocaine (~> 0.5.3)
88
- mime-types
89
- rack (1.6.0)
90
- rack-protection (1.5.3)
91
- rack
92
- rack-test (0.6.2)
93
- rack (>= 1.0)
94
- rails (4.2.0)
95
- actionmailer (= 4.2.0)
96
- actionpack (= 4.2.0)
97
- actionview (= 4.2.0)
98
- activejob (= 4.2.0)
99
- activemodel (= 4.2.0)
100
- activerecord (= 4.2.0)
101
- activesupport (= 4.2.0)
102
- bundler (>= 1.3.0, < 2.0)
103
- railties (= 4.2.0)
104
- sprockets-rails
105
- rails-deprecated_sanitizer (1.0.3)
106
- activesupport (>= 4.2.0.alpha)
107
- rails-dom-testing (1.0.5)
108
- activesupport (>= 4.2.0.beta, < 5.0)
109
- nokogiri (~> 1.6.0)
110
- rails-deprecated_sanitizer (>= 1.0.1)
111
- rails-html-sanitizer (1.0.1)
112
- loofah (~> 2.0)
113
- railties (4.2.0)
114
- actionpack (= 4.2.0)
115
- activesupport (= 4.2.0)
116
- rake (>= 0.8.7)
117
- thor (>= 0.18.1, < 2.0)
118
- rake (10.4.2)
119
- redis (3.2.0)
120
- redis-namespace (1.5.1)
121
- redis (~> 3.0, >= 3.0.4)
122
- resque (1.25.2)
123
- mono_logger (~> 1.0)
124
- multi_json (~> 1.0)
125
- redis-namespace (~> 1.3)
126
- sinatra (>= 0.9.2)
127
- vegas (~> 0.1.2)
128
- rspec (2.99.0)
129
- rspec-core (~> 2.99.0)
130
- rspec-expectations (~> 2.99.0)
131
- rspec-mocks (~> 2.99.0)
132
- rspec-core (2.99.2)
133
- rspec-expectations (2.99.2)
134
- diff-lcs (>= 1.1.3, < 2.0)
135
- rspec-mocks (2.99.2)
136
- sidekiq (2.17.8)
137
- celluloid (= 0.15.2)
138
- connection_pool (~> 2.0)
139
- json
140
- redis (~> 3.1)
141
- redis-namespace (~> 1.3)
142
- sinatra (1.4.5)
143
- rack (~> 1.4)
144
- rack-protection (~> 1.4)
145
- tilt (~> 1.3, >= 1.3.4)
146
- sprockets (2.12.3)
147
- hike (~> 1.2)
148
- multi_json (~> 1.0)
149
- rack (~> 1.0)
150
- tilt (~> 1.1, != 1.3.0)
151
- sprockets-rails (2.2.2)
152
- actionpack (>= 3.0)
153
- activesupport (>= 3.0)
154
- sprockets (>= 2.8, < 4.0)
155
- sqlite3 (1.3.10)
156
- thor (0.19.1)
157
- thread_safe (0.3.4)
158
- tilt (1.4.1)
159
- timers (1.1.0)
160
- tzinfo (1.2.2)
161
- thread_safe (~> 0.1)
162
- vegas (0.1.11)
163
- rack (>= 1.0.0)
164
-
165
- PLATFORMS
166
- ruby
167
-
168
- DEPENDENCIES
169
- appraisal
170
- bundler
171
- delayed_job
172
- delayed_job_active_record
173
- delayed_paperclip!
174
- mocha
175
- rails (~> 4.2.0)
176
- railties
177
- rake
178
- resque
179
- rspec (< 3.0)
180
- sidekiq (< 3.0)
181
- sqlite3
@@ -1,254 +0,0 @@
1
- ###
2
- # DEPRECATED, Don't Use
3
- ###
4
-
5
- module BaseDelayedPaperclipTest
6
- def setup
7
- super
8
- DelayedPaperclip.options[:url_with_processing] = true
9
- reset_dummy
10
- end
11
-
12
- def test_normal_paperclip_functioning
13
- reset_dummy :with_processed => false
14
- Paperclip::Attachment.any_instance.expects(:post_process)
15
- dummy = Dummy.new(:image => File.open("#{ROOT}/test/fixtures/12k.png"))
16
- assert !dummy.image.delay_processing?
17
- assert dummy.image.post_processing
18
- assert dummy.save
19
- assert File.exists?(dummy.image.path)
20
- end
21
-
22
- def test_normal_explicit_post_processing_with_delayed_paperclip
23
- reset_dummy :with_processed => true
24
- dummy = Dummy.new(:image => File.open("#{ROOT}/test/fixtures/12k.png"))
25
- dummy.image.post_processing = true
26
- assert !dummy.image.delay_processing?
27
- assert dummy.image.post_processing, "Post processing should return true"
28
- assert dummy.save
29
- assert File.exists?(dummy.image.path)
30
- end
31
-
32
- def test_delayed_paperclip_functioning
33
- build_dummy_table(false)
34
- reset_class "Dummy", :with_processed => true
35
- Paperclip::Attachment.any_instance.expects(:post_process).never
36
- dummy = Dummy.new(:image => File.open("#{ROOT}/test/fixtures/12k.png"))
37
- assert dummy.image.delay_processing?
38
- assert !dummy.image.post_processing
39
- assert dummy.save
40
- assert File.exists?(dummy.image.path), "Path #{dummy.image.path} should exist"
41
- end
42
-
43
- def test_enqueue_job_if_source_changed
44
- dummy = Dummy.new(:image => File.open("#{ROOT}/test/fixtures/12k.png"))
45
- dummy.image = File.open("#{RAILS_ROOT}/test/fixtures/12k.png")
46
- original_job_count = jobs_count
47
- dummy.save
48
- assert_equal original_job_count + 1, jobs_count
49
- end
50
-
51
- def test_processing_column_kept_intact
52
- Paperclip::Attachment.any_instance.stubs(:reprocess!).raises(StandardError.new('oops'))
53
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
54
- dummy.save!
55
- assert dummy.image_processing?
56
- process_jobs
57
- assert dummy.image_processing?
58
- assert dummy.reload.image_processing?
59
- end
60
-
61
- def test_processing_true_when_new_image_added
62
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
63
- assert !dummy.image_processing?
64
- assert dummy.new_record?
65
- dummy.save!
66
- assert dummy.reload.image_processing?
67
- end
68
-
69
- def test_processed_true_when_delayed_jobs_completed
70
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
71
- dummy.save!
72
- process_jobs
73
- dummy.reload
74
- assert !dummy.image_processing?, "Image should no longer be processing"
75
- end
76
-
77
- def test_unprocessed_image_returns_missing_url
78
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
79
- dummy.save!
80
- assert dummy.image.url.starts_with?("/images/original/missing.png")
81
- process_jobs
82
- dummy.reload
83
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
84
- end
85
-
86
- def test_unprocess_image_returns_reprocessing_url
87
- reset_dummy :processing_image_url => "/images/original/processing.png"
88
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
89
- dummy.save!
90
- assert dummy.image.url.starts_with?("/images/original/processing.png")
91
- process_jobs
92
- dummy.reload
93
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
94
- end
95
-
96
- def test_unprocessed_image_not_returning_missing_url_if_turned_of_globally
97
- DelayedPaperclip.options[:url_with_processing] = false
98
- reset_dummy :with_processed => false
99
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
100
- dummy.save!
101
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
102
- process_jobs
103
- dummy.reload
104
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
105
- end
106
-
107
- def test_unprocessed_image_not_returning_missing_url_if_turned_of_on_instance
108
- reset_dummy :with_processed => false, :url_with_processing => false
109
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
110
- dummy.save!
111
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
112
- process_jobs
113
- dummy.reload
114
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
115
- end
116
-
117
- def test_unprocessed_processing_url_when_file
118
- reset_dummy :with_processed => true, :processing_image_url => "processing"
119
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
120
- dummy.save!
121
- assert dummy.reload.image.url.starts_with?("processing")
122
- end
123
-
124
- def test_processed_default_url_when_no_file
125
- reset_dummy :with_processed => true, :processing_image_url => "processing"
126
- dummy = Dummy.new()
127
- dummy.save!
128
- assert dummy.reload.image.url.starts_with?("/images/original/missing.png")
129
- end
130
-
131
- def test_original_url_when_no_processing_column
132
- reset_dummy :with_processed => false
133
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
134
- dummy.save!
135
- assert dummy.reload.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
136
- end
137
-
138
- def test_original_url_if_image_changed
139
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
140
- dummy.save!
141
- dummy.image = File.open("#{RAILS_ROOT}/test/fixtures/12k.png")
142
- dummy.save!
143
- assert dummy.image.url.starts_with?("/images/original/missing.png")
144
- process_jobs
145
- assert dummy.reload.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
146
- end
147
-
148
- def test_missing_url_if_image_hasnt_changed
149
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
150
- dummy.save!
151
- assert_match(/images\/.*missing.*/, dummy.image.url)
152
- end
153
-
154
- def test_should_not_blow_up_if_dsl_unused
155
- reset_dummy :with_processed => false
156
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
157
- assert dummy.image.url
158
- end
159
-
160
- def test_after_callback_is_functional
161
- Dummy.send(:define_method, :done_processing) { puts 'done' }
162
- Dummy.after_image_post_process :done_processing
163
- Dummy.any_instance.expects(:done_processing).once
164
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
165
- dummy.save!
166
- process_jobs
167
- end
168
-
169
- def test_delayed_paperclip_functioning_with_after_update_callback
170
- reset_class "Dummy", :with_processed => true, :with_after_update_callback => true
171
- Dummy.any_instance.expects(:reprocess).once
172
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
173
- dummy.save!
174
- process_jobs
175
- end
176
-
177
- def test_delayed_paperclip_functioning_with_only_process_option
178
- reset_class "Dummy", :with_processed => true, :only_process => [:thumbnail]
179
- Paperclip::Attachment.any_instance.expects(:reprocess!).with(:thumbnail)
180
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
181
- dummy.save!
182
- process_jobs
183
- end
184
-
185
- def test_delayed_paperclip_functioning_with_paperclip_only_process_option
186
- reset_class "Dummy", :with_processed => true, :paperclip => { :only_process => [:thumbnail] }
187
- Paperclip::Attachment.any_instance.expects(:reprocess!).with(:thumbnail)
188
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
189
- dummy.save!
190
- process_jobs
191
- end
192
-
193
- def test_delayed_paperclip_functioning_with_only_process_and_paperclip_only_process_option
194
- reset_class "Dummy", :with_processed => true, :only_process => [:small], :paperclip => { :only_process => [:thumbnail] }
195
-
196
- Paperclip::Attachment.any_instance.expects(:post_process).with(:thumbnail)
197
- Paperclip::Attachment.any_instance.expects(:post_process).with(:small).never
198
-
199
- Paperclip::Attachment.any_instance.expects(:reprocess!).with(:small)
200
- Paperclip::Attachment.any_instance.expects(:reprocess!).with(:thumbnail).never
201
-
202
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
203
- dummy.save!
204
- process_jobs
205
- end
206
-
207
- def test_delayed_paperclip_should_convert_image_formats
208
- reset_class "Dummy", :with_processed => true, :paperclip => { :styles => {:thumbnail => ['12x12', :jpg]} }
209
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
210
- dummy.save!
211
- process_jobs
212
- assert dummy.reload.image.url(:thumbnail).starts_with?("/system/dummies/images/000/000/001/thumbnail/12k.jpg")
213
- assert File.exists?("#{RAILS_ROOT}/public/system/dummies/images/000/000/001/thumbnail/12k.jpg")
214
- end
215
-
216
- def test_delayed_paperclip_without_delay
217
- reset_class "Dummy", :with_processed => true, :paperclip => { :styles => {:thumbnail => ['12x12', :jpg]} }
218
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
219
- dummy.save!
220
-
221
- existing_jobs_count = jobs_count
222
- dummy.update_attribute(:image_processing, false)
223
- dummy.image.reprocess_without_delay!(:thumbnail)
224
- Paperclip::Attachment.any_instance.expects(:reprocess!).never
225
- assert_equal existing_jobs_count, jobs_count
226
- assert_equal false, dummy.image_processing?
227
- assert File.exists?("#{RAILS_ROOT}/public/system/dummies/images/000/000/001/thumbnail/12k.jpg")
228
- end
229
-
230
- def test_unprocess_image_interpolates_reprocessing_url
231
- reset_class "Dummy", :paperclip => { :styles => {:thumbnail => '12x12'} }
232
- reset_dummy :processing_image_url => "/images/:style/processing.png"
233
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
234
- dummy.save!
235
- assert dummy.image.url.starts_with?("/images/original/processing.png")
236
- assert dummy.image.url(:thumbnail).starts_with?("/images/thumbnail/processing.png")
237
- process_jobs
238
- dummy.reload
239
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
240
- end
241
-
242
- def test_unprocess_image_accepts_proc_for_reprocessing_url
243
- reset_class "Dummy", :paperclip => { :styles => {:thumbnail => '12x12'} }
244
- reset_dummy :processing_image_url => lambda { |attachment| attachment.instance.reprocessing_url }
245
- Dummy.send(:define_method, :reprocessing_url) { 'done' }
246
- dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
247
- dummy.save!
248
- assert dummy.image.url.starts_with?("done")
249
- process_jobs
250
- dummy.reload
251
- assert dummy.image.url.starts_with?("/system/dummies/images/000/000/001/original/12k.png")
252
- end
253
-
254
- end