delayed_paperclip 2.9.1 → 2.9.2

Sign up to get free protection for your applications and to get access to all the features.
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