paperclip_upload 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/paperclip_upload/install/templates/initializer.rb +4 -0
- data/lib/paperclip_upload.rb +5 -1
- data/lib/paperclip_upload/active_record_extension.rb +32 -11
- data/lib/paperclip_upload/version.rb +1 -1
- data/spec/dummy/app/models/promotion.rb +3 -1
- data/spec/dummy/config/initializers/paperclip_upload.rb +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20150717201744_add_attachment_prefixed_file_one_to_promotions.rb +11 -0
- data/spec/dummy/db/migrate/20150717201754_add_attachment_prefixed_file_two_to_promotions.rb +11 -0
- data/spec/dummy/db/migrate/20150717202131_add_attachment_prefixed_file_to_promotions.rb +11 -0
- data/spec/dummy/db/schema.rb +15 -3
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +154 -0
- data/spec/dummy/log/test.log +23401 -0
- data/spec/dummy/{tmp/uploads/1/bukowski.jpg → public/system/promotions/photos/000/000/021/original/data} +0 -0
- data/spec/dummy/spec/models/promotion_spec.rb +39 -12
- data/spec/dummy/tmp/{uploads/3 → promotions/11}/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/13/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/15/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/17/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/19/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/21/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/21/data +0 -0
- data/spec/dummy/tmp/promotions/3/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/5/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/7/bukowski.jpg +0 -0
- data/spec/dummy/tmp/promotions/9/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/10/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/12/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/14/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/18/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/20/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/21/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/4/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/6/bukowski.jpg +0 -0
- data/spec/dummy/tmp/uploads/8/bukowski.jpg +0 -0
- metadata +49 -5
File without changes
|
@@ -12,47 +12,74 @@ RSpec.describe Promotion, type: :model do
|
|
12
12
|
expect(Promotion.new.photo).to be_a(Paperclip::Attachment)
|
13
13
|
end
|
14
14
|
|
15
|
-
it "has upload
|
16
|
-
promotion.
|
17
|
-
expect(promotion.upload).to eq("upload")
|
15
|
+
it "has upload accessor" do
|
16
|
+
expect(promotion).to respond_to(:upload)
|
18
17
|
end
|
19
18
|
|
20
19
|
it "has upload_identifier accessor" do
|
21
|
-
promotion.
|
22
|
-
|
20
|
+
expect(promotion).to respond_to(:upload_identifier)
|
21
|
+
end
|
22
|
+
|
23
|
+
context "with use_prefix option enabled" do
|
24
|
+
it "has upload accessors" do
|
25
|
+
expect(promotion).to respond_to(:prefixed_file_upload)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "has upload_identifier accessor" do
|
29
|
+
expect(promotion).to respond_to(:prefixed_file_upload_identifier)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "raises error trying to redefine upload_accessor", focus: true do
|
33
|
+
expect { Promotion.has_attached_upload(:photo) }.to raise_error(
|
34
|
+
"you are trying to redefine upload_identifier attribute")
|
35
|
+
expect { Promotion.has_attached_upload(:prefixed_file, upload: { use_prefix: true }) }.to raise_error(
|
36
|
+
"you are trying to redefine prefixed_file_upload_identifier attribute")
|
37
|
+
end
|
23
38
|
end
|
24
39
|
|
25
40
|
context "saving promotion" do
|
26
41
|
context "with invalid upload" do
|
27
|
-
it "
|
42
|
+
it "raises error passing an invalid upload_identifier" do
|
28
43
|
promotion.upload_identifier = "invalid upload identifier"
|
29
44
|
expect { promotion.save }.to raise_error(ActiveRecord::RecordNotFound)
|
30
45
|
end
|
31
46
|
|
32
|
-
it "
|
47
|
+
it "raises error passing an invalid upload" do
|
33
48
|
promotion.upload = "invalid upload"
|
34
49
|
expect { promotion.save }.to raise_error("invalid PaperclipUpload::Upload instance")
|
35
50
|
end
|
36
51
|
end
|
37
52
|
|
38
53
|
context "with valid upload" do
|
39
|
-
let(:upload) { create(:upload) }
|
54
|
+
let!(:upload) { create(:upload) }
|
40
55
|
|
41
|
-
def saves_with_upload
|
56
|
+
def saves_with_upload(_paperclip_attr)
|
42
57
|
expect(promotion.photo.exists?).to be_falsy
|
43
58
|
yield(promotion)
|
44
59
|
expect(promotion.save).to be_truthy
|
45
|
-
expect(promotion.
|
60
|
+
expect(promotion.send(_paperclip_attr).exists?).to be_truthy
|
46
61
|
expect { PaperclipUpload::Upload.find(upload.id) }.to(
|
47
62
|
raise_error(ActiveRecord::RecordNotFound))
|
48
63
|
end
|
49
64
|
|
50
65
|
it "saves photo using upload instance" do
|
51
|
-
saves_with_upload {
|
66
|
+
saves_with_upload(:photo) { promotion.upload = upload }
|
52
67
|
end
|
53
68
|
|
54
69
|
it "saves photo using upload_identifier" do
|
55
|
-
saves_with_upload {
|
70
|
+
saves_with_upload(:photo) { promotion.upload_identifier = upload.identifier }
|
71
|
+
end
|
72
|
+
|
73
|
+
context "with use_prefix option enabled" do
|
74
|
+
it "saves prefixed_file using upload_identifier" do
|
75
|
+
saves_with_upload(:prefixed_file) do
|
76
|
+
promotion.prefixed_file_upload_identifier = upload.identifier
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
it "saves prefixed_file using upload instance" do
|
81
|
+
saves_with_upload(:prefixed_file) { promotion.prefixed_file_upload = upload }
|
82
|
+
end
|
56
83
|
end
|
57
84
|
end
|
58
85
|
end
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip_upload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leandro Segovia
|
@@ -271,6 +271,9 @@ files:
|
|
271
271
|
- spec/dummy/db/migrate/20150612173817_add_attachment_file_to_uploads.paperclip_upload.rb
|
272
272
|
- spec/dummy/db/migrate/20150613212501_create_promotions.rb
|
273
273
|
- spec/dummy/db/migrate/20150613212609_add_attachment_photo_to_promotions.rb
|
274
|
+
- spec/dummy/db/migrate/20150717201744_add_attachment_prefixed_file_one_to_promotions.rb
|
275
|
+
- spec/dummy/db/migrate/20150717201754_add_attachment_prefixed_file_two_to_promotions.rb
|
276
|
+
- spec/dummy/db/migrate/20150717202131_add_attachment_prefixed_file_to_promotions.rb
|
274
277
|
- spec/dummy/db/schema.rb
|
275
278
|
- spec/dummy/db/test.sqlite3
|
276
279
|
- spec/dummy/log/development.log
|
@@ -280,6 +283,7 @@ files:
|
|
280
283
|
- spec/dummy/public/422.html
|
281
284
|
- spec/dummy/public/500.html
|
282
285
|
- spec/dummy/public/favicon.ico
|
286
|
+
- spec/dummy/public/system/promotions/photos/000/000/021/original/data
|
283
287
|
- spec/dummy/Rakefile
|
284
288
|
- spec/dummy/README.md
|
285
289
|
- spec/dummy/spec/assets/bukowski.jpg
|
@@ -288,12 +292,30 @@ files:
|
|
288
292
|
- spec/dummy/spec/models/promotion_spec.rb
|
289
293
|
- spec/dummy/tmp/promotions/1/bukowski.jpg
|
290
294
|
- spec/dummy/tmp/promotions/1/data
|
291
|
-
- spec/dummy/tmp/
|
295
|
+
- spec/dummy/tmp/promotions/11/bukowski.jpg
|
296
|
+
- spec/dummy/tmp/promotions/13/bukowski.jpg
|
297
|
+
- spec/dummy/tmp/promotions/15/bukowski.jpg
|
298
|
+
- spec/dummy/tmp/promotions/17/bukowski.jpg
|
299
|
+
- spec/dummy/tmp/promotions/19/bukowski.jpg
|
300
|
+
- spec/dummy/tmp/promotions/21/bukowski.jpg
|
301
|
+
- spec/dummy/tmp/promotions/21/data
|
302
|
+
- spec/dummy/tmp/promotions/3/bukowski.jpg
|
303
|
+
- spec/dummy/tmp/promotions/5/bukowski.jpg
|
304
|
+
- spec/dummy/tmp/promotions/7/bukowski.jpg
|
305
|
+
- spec/dummy/tmp/promotions/9/bukowski.jpg
|
306
|
+
- spec/dummy/tmp/uploads/10/bukowski.jpg
|
307
|
+
- spec/dummy/tmp/uploads/12/bukowski.jpg
|
308
|
+
- spec/dummy/tmp/uploads/14/bukowski.jpg
|
309
|
+
- spec/dummy/tmp/uploads/18/bukowski.jpg
|
292
310
|
- spec/dummy/tmp/uploads/2/bukowski.jpg
|
293
311
|
- spec/dummy/tmp/uploads/2/Marilyn_Manson_imagen_003.jpg
|
294
|
-
- spec/dummy/tmp/uploads/
|
312
|
+
- spec/dummy/tmp/uploads/20/bukowski.jpg
|
313
|
+
- spec/dummy/tmp/uploads/21/bukowski.jpg
|
295
314
|
- spec/dummy/tmp/uploads/3/Marilyn_Manson_imagen_005.jpg
|
315
|
+
- spec/dummy/tmp/uploads/4/bukowski.jpg
|
296
316
|
- spec/dummy/tmp/uploads/4/Marilyn_Manson_imagen_005.jpg
|
317
|
+
- spec/dummy/tmp/uploads/6/bukowski.jpg
|
318
|
+
- spec/dummy/tmp/uploads/8/bukowski.jpg
|
297
319
|
- spec/factories/paperclip_upload/uploads.rb
|
298
320
|
- spec/factories/promotions.rb
|
299
321
|
- spec/rails_helper.rb
|
@@ -359,6 +381,9 @@ test_files:
|
|
359
381
|
- spec/dummy/db/migrate/20150612173817_add_attachment_file_to_uploads.paperclip_upload.rb
|
360
382
|
- spec/dummy/db/migrate/20150613212501_create_promotions.rb
|
361
383
|
- spec/dummy/db/migrate/20150613212609_add_attachment_photo_to_promotions.rb
|
384
|
+
- spec/dummy/db/migrate/20150717201744_add_attachment_prefixed_file_one_to_promotions.rb
|
385
|
+
- spec/dummy/db/migrate/20150717201754_add_attachment_prefixed_file_two_to_promotions.rb
|
386
|
+
- spec/dummy/db/migrate/20150717202131_add_attachment_prefixed_file_to_promotions.rb
|
362
387
|
- spec/dummy/db/schema.rb
|
363
388
|
- spec/dummy/db/test.sqlite3
|
364
389
|
- spec/dummy/log/development.log
|
@@ -368,6 +393,7 @@ test_files:
|
|
368
393
|
- spec/dummy/public/422.html
|
369
394
|
- spec/dummy/public/500.html
|
370
395
|
- spec/dummy/public/favicon.ico
|
396
|
+
- spec/dummy/public/system/promotions/photos/000/000/021/original/data
|
371
397
|
- spec/dummy/Rakefile
|
372
398
|
- spec/dummy/README.md
|
373
399
|
- spec/dummy/spec/assets/bukowski.jpg
|
@@ -376,12 +402,30 @@ test_files:
|
|
376
402
|
- spec/dummy/spec/models/promotion_spec.rb
|
377
403
|
- spec/dummy/tmp/promotions/1/bukowski.jpg
|
378
404
|
- spec/dummy/tmp/promotions/1/data
|
379
|
-
- spec/dummy/tmp/
|
405
|
+
- spec/dummy/tmp/promotions/11/bukowski.jpg
|
406
|
+
- spec/dummy/tmp/promotions/13/bukowski.jpg
|
407
|
+
- spec/dummy/tmp/promotions/15/bukowski.jpg
|
408
|
+
- spec/dummy/tmp/promotions/17/bukowski.jpg
|
409
|
+
- spec/dummy/tmp/promotions/19/bukowski.jpg
|
410
|
+
- spec/dummy/tmp/promotions/21/bukowski.jpg
|
411
|
+
- spec/dummy/tmp/promotions/21/data
|
412
|
+
- spec/dummy/tmp/promotions/3/bukowski.jpg
|
413
|
+
- spec/dummy/tmp/promotions/5/bukowski.jpg
|
414
|
+
- spec/dummy/tmp/promotions/7/bukowski.jpg
|
415
|
+
- spec/dummy/tmp/promotions/9/bukowski.jpg
|
416
|
+
- spec/dummy/tmp/uploads/10/bukowski.jpg
|
417
|
+
- spec/dummy/tmp/uploads/12/bukowski.jpg
|
418
|
+
- spec/dummy/tmp/uploads/14/bukowski.jpg
|
419
|
+
- spec/dummy/tmp/uploads/18/bukowski.jpg
|
380
420
|
- spec/dummy/tmp/uploads/2/bukowski.jpg
|
381
421
|
- spec/dummy/tmp/uploads/2/Marilyn_Manson_imagen_003.jpg
|
382
|
-
- spec/dummy/tmp/uploads/
|
422
|
+
- spec/dummy/tmp/uploads/20/bukowski.jpg
|
423
|
+
- spec/dummy/tmp/uploads/21/bukowski.jpg
|
383
424
|
- spec/dummy/tmp/uploads/3/Marilyn_Manson_imagen_005.jpg
|
425
|
+
- spec/dummy/tmp/uploads/4/bukowski.jpg
|
384
426
|
- spec/dummy/tmp/uploads/4/Marilyn_Manson_imagen_005.jpg
|
427
|
+
- spec/dummy/tmp/uploads/6/bukowski.jpg
|
428
|
+
- spec/dummy/tmp/uploads/8/bukowski.jpg
|
385
429
|
- spec/factories/paperclip_upload/uploads.rb
|
386
430
|
- spec/factories/promotions.rb
|
387
431
|
- spec/rails_helper.rb
|