attachs 0.4.1 → 0.4.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.
- checksums.yaml +4 -4
- data/README.md +32 -5
- data/lib/attachs.rb +1 -0
- data/lib/attachs/storages/base.rb +10 -0
- data/lib/attachs/storages/local.rb +8 -2
- data/lib/attachs/storages/s3.rb +4 -9
- data/lib/attachs/version.rb +1 -1
- data/test/dummy/log/test.log +1914 -0
- data/test/local_storage_test.rb +18 -7
- data/test/s3_storage_tes.rb +32 -18
- metadata +1 -1
data/test/local_storage_test.rb
CHANGED
@@ -4,13 +4,16 @@ class LocalStorageTest < ActiveSupport::TestCase
|
|
4
4
|
|
5
5
|
test 'file url' do
|
6
6
|
medium = Medium.create(local_attach: file_upload)
|
7
|
-
assert_equal file_url(:original, medium), medium.local_attach.url
|
7
|
+
assert_equal file_url(:original, medium, true), medium.local_attach.url
|
8
|
+
assert_equal file_url(:original, medium, false), medium.local_attach.url(cachebuster: false)
|
8
9
|
end
|
9
10
|
|
10
11
|
test 'image url' do
|
11
12
|
medium = Medium.create(local_attach: image_upload)
|
12
|
-
assert_equal image_url(:original, medium), medium.local_attach.url
|
13
|
-
assert_equal image_url(:
|
13
|
+
assert_equal image_url(:original, medium, true), medium.local_attach.url
|
14
|
+
assert_equal image_url(:original, medium, false), medium.local_attach.url(cachebuster: false)
|
15
|
+
assert_equal image_url(:small, medium, true), medium.local_attach.url(:small)
|
16
|
+
assert_equal image_url(:small, medium, false), medium.local_attach.url(:small, cachebuster: false)
|
14
17
|
end
|
15
18
|
|
16
19
|
test 'crud' do
|
@@ -38,12 +41,20 @@ class LocalStorageTest < ActiveSupport::TestCase
|
|
38
41
|
Time.zone.now.month
|
39
42
|
end
|
40
43
|
|
41
|
-
def file_url(style, record)
|
42
|
-
"/storage/text/11/#{style}/#{month}/file.txt
|
44
|
+
def file_url(style, record, cachebuster=true)
|
45
|
+
"/storage/text/11/#{style}/#{month}/file.txt".tap do |url|
|
46
|
+
if cachebuster
|
47
|
+
url << "?#{record.local_attach_updated_at.to_i}"
|
48
|
+
end
|
49
|
+
end
|
43
50
|
end
|
44
51
|
|
45
|
-
def image_url(style, record)
|
46
|
-
"/storage/image/5461/#{style}/#{month}/180x150.gif
|
52
|
+
def image_url(style, record, cachebuster=true)
|
53
|
+
"/storage/image/5461/#{style}/#{month}/180x150.gif".tap do |url|
|
54
|
+
if cachebuster
|
55
|
+
url << "?#{record.local_attach_updated_at.to_i}"
|
56
|
+
end
|
57
|
+
end
|
47
58
|
end
|
48
59
|
|
49
60
|
def file_path(style)
|
data/test/s3_storage_tes.rb
CHANGED
@@ -4,35 +4,41 @@ class S3StorageTest < ActiveSupport::TestCase
|
|
4
4
|
|
5
5
|
test 'file url' do
|
6
6
|
medium = Medium.create(s3_attach: file_upload)
|
7
|
-
assert_equal file_url(:original, medium, false), medium.s3_attach.url
|
8
|
-
assert_equal file_url(:original, medium,
|
7
|
+
assert_equal file_url(:original, medium, true, false), medium.s3_attach.url
|
8
|
+
assert_equal file_url(:original, medium, false, false), medium.s3_attach.url(cachebuster: false)
|
9
|
+
assert_equal file_url(:original, medium, true, true), medium.s3_attach.url(ssl: true)
|
10
|
+
assert_equal file_url(:original, medium, false, true), medium.s3_attach.url(ssl: true, cachebuster: false)
|
9
11
|
end
|
10
12
|
|
11
13
|
test 'image url' do
|
12
14
|
medium = Medium.create(s3_attach: image_upload)
|
13
|
-
assert_equal image_url(:original, medium, false), medium.s3_attach.url
|
14
|
-
assert_equal image_url(:original, medium,
|
15
|
-
assert_equal image_url(:
|
16
|
-
assert_equal image_url(:
|
15
|
+
assert_equal image_url(:original, medium, true, false), medium.s3_attach.url
|
16
|
+
assert_equal image_url(:original, medium, false, false), medium.s3_attach.url(cachebuster: false)
|
17
|
+
assert_equal image_url(:original, medium, true, true), medium.s3_attach.url(ssl: true)
|
18
|
+
assert_equal image_url(:original, medium, false, true), medium.s3_attach.url(ssl: true, cachebuster: false)
|
19
|
+
assert_equal image_url(:small, medium, true, false), medium.s3_attach.url(:small)
|
20
|
+
assert_equal image_url(:small, medium, false, false), medium.s3_attach.url(:small, cachebuster: false)
|
21
|
+
assert_equal image_url(:small, medium, true, true), medium.s3_attach.url(:small, ssl: true)
|
22
|
+
assert_equal image_url(:small, medium, false, true), medium.s3_attach.url(:small, ssl: true, cachebuster: false)
|
17
23
|
end
|
18
24
|
|
19
25
|
test 'storage' do
|
20
26
|
medium = Medium.create(s3_attach: file_upload)
|
21
|
-
assert_url file_url(:original, medium
|
27
|
+
assert_url file_url(:original, medium)
|
22
28
|
medium.update_attributes! s3_attach: image_upload
|
23
|
-
assert_not_url file_url(:original, medium
|
24
|
-
assert_url image_url(:original, medium
|
25
|
-
assert_url image_url(:small, medium
|
29
|
+
assert_not_url file_url(:original, medium)
|
30
|
+
assert_url image_url(:original, medium)
|
31
|
+
assert_url image_url(:small, medium)
|
26
32
|
medium.destroy
|
27
|
-
assert_not_url image_url(:original, medium
|
28
|
-
assert_not_url image_url(:small, medium
|
33
|
+
assert_not_url image_url(:original, medium)
|
34
|
+
assert_not_url image_url(:small, medium)
|
29
35
|
end
|
30
36
|
|
31
37
|
test 'detroy attr' do
|
32
38
|
medium = Medium.create(s3_attach: file_upload, destroy_s3_attach: true)
|
33
|
-
assert_url file_url(:original, medium
|
39
|
+
assert_url file_url(:original, medium)
|
34
40
|
medium.update_attributes! destroy_s3_attach: true
|
35
|
-
assert_not_url file_url(:original, medium
|
41
|
+
assert_not_url file_url(:original, medium)
|
36
42
|
end
|
37
43
|
|
38
44
|
private
|
@@ -41,12 +47,20 @@ class S3StorageTest < ActiveSupport::TestCase
|
|
41
47
|
Time.zone.now.month
|
42
48
|
end
|
43
49
|
|
44
|
-
def file_url(style, record, ssl)
|
45
|
-
"http#{'s' if ssl}://attachs-test.s3.amazonaws.com/storage/text/11/#{style}/#{month}/file.txt
|
50
|
+
def file_url(style, record, cachebuster=true, ssl=false)
|
51
|
+
"http#{'s' if ssl}://attachs-test.s3.amazonaws.com/storage/text/11/#{style}/#{month}/file.txt".tap do |url|
|
52
|
+
if cachebuster
|
53
|
+
url << "?#{record.s3_attach_updated_at.to_i}"
|
54
|
+
end
|
55
|
+
end
|
46
56
|
end
|
47
57
|
|
48
|
-
def image_url(style, record, ssl)
|
49
|
-
"http#{'s' if ssl}://attachs-test.s3.amazonaws.com/storage/image/5461/#{style}/#{month}/180x150.gif
|
58
|
+
def image_url(style, record, cachebuster=true, ssl=false)
|
59
|
+
"http#{'s' if ssl}://attachs-test.s3.amazonaws.com/storage/image/5461/#{style}/#{month}/180x150.gif".tap do |url|
|
60
|
+
if cachebuster
|
61
|
+
url << "?#{record.s3_attach_updated_at.to_i}"
|
62
|
+
end
|
63
|
+
end
|
50
64
|
end
|
51
65
|
|
52
66
|
end
|