rails_uploads 0.1.5 → 0.2.0
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.
- data/README.rdoc +35 -9
- data/app/controllers/rails_uploads/application_controller.rb +1 -0
- data/app/controllers/rails_uploads/presets_controller.rb +2 -4
- data/lib/rails_uploads.rb +2 -0
- data/lib/rails_uploads/active_record/base.rb +60 -55
- data/lib/rails_uploads/magick/image.rb +3 -3
- data/lib/rails_uploads/railtie.rb +6 -1
- data/lib/rails_uploads/storages/local.rb +57 -0
- data/lib/rails_uploads/storages/s3.rb +61 -0
- data/lib/rails_uploads/types/file.rb +35 -43
- data/lib/rails_uploads/types/image.rb +12 -28
- data/lib/rails_uploads/validators/attachment_content_type_validator.rb +2 -4
- data/lib/rails_uploads/validators/attachment_presence_validator.rb +0 -2
- data/lib/rails_uploads/validators/attachment_size_validator.rb +4 -6
- data/lib/rails_uploads/version.rb +1 -1
- data/lib/tasks/rails_uploads_tasks.rake +31 -3
- data/test/dummy/app/models/file_upload.rb +1 -1
- data/test/dummy/app/models/image_upload.rb +1 -1
- data/test/dummy/app/models/validation_upload.rb +2 -2
- data/test/dummy/config/s3.yml +15 -0
- data/test/dummy/log/development.log +1 -0
- data/test/dummy/log/test.log +11581 -0
- data/test/dummy/public/uploads/images/{original/default.jpg → big/image.jpg} +0 -0
- data/test/dummy/public/uploads/images/small/image.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687482983108968.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687483348482658.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687483563901100.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687484108914220.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687489381697390.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687490968011022.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687491524768450.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687494425396302.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13687513450654020.jpg +0 -0
- data/test/dummy/{public/uploads/files/default.txt → tmp/uploads/files/13687514839373922.txt} +0 -0
- data/test/dummy/tmp/uploads/files/13688181722986792.jpg +0 -0
- data/test/dummy/tmp/uploads/files/13688181729459798.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687484103672162.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687484106303082.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687489377129980.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687489379459820.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687490965463210.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13687491522552230.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688181724596422.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688181727051510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688259257147068.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688280071286788.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688281527981960.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688360981527310.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688360983686640.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688977138132322.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688977290079510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/big/13688978966174670.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687482977916958.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687482979328390.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687482981277580.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483343313990.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483344710930.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483346647770.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483558679350.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483560070410.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687483562001660.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687484103672162.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687484106303082.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687489377129980.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687489379459820.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687490965463210.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13687491522552230.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688181723027610.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688181724596422.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688181727051510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688259257147068.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688280071286788.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688281527981960.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688360981527310.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688360983686640.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688977138132322.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688977290079510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/original/13688978966174670.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687484103672162.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687484106303082.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687489377129980.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687489379459820.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687490965463210.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13687491522552230.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688181723027610.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688181724596422.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688181727051510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688259257147068.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688280071286788.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688281527981960.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688360981527310.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688360983686640.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688977138132322.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688977290079510.jpg +0 -0
- data/test/dummy/tmp/uploads/images/small/13688978966174670.jpg +0 -0
- data/test/{generate_test.rb → integration/local_generate_test.rb} +12 -14
- data/test/test_helper.rb +29 -0
- data/test/unit/local_file_record_test.rb +20 -0
- data/test/unit/local_file_string_test.rb +23 -0
- data/test/unit/local_file_upload_test.rb +30 -0
- data/test/unit/local_image_record_test.rb +25 -0
- data/test/{image_string_test.rb → unit/local_image_string_test.rb} +19 -21
- data/test/unit/local_image_upload_test.rb +27 -0
- data/test/unit/local_records_test.rb +52 -0
- data/test/{validators_test.rb → unit/local_validators_test.rb} +15 -28
- data/test/unit/s3_file_record_tes.rb +21 -0
- data/test/unit/s3_file_string_tes.rb +24 -0
- data/test/unit/s3_file_upload_tes.rb +31 -0
- data/test/unit/s3_image_record_tes.rb +26 -0
- data/test/unit/s3_image_string_tes.rb +31 -0
- data/test/unit/s3_image_upload_tes.rb +28 -0
- data/test/unit/s3_records_tes.rb +56 -0
- data/test/unit/s3_validators_tes.rb +71 -0
- metadata +204 -25
- data/test/file_string_test.rb +0 -35
- data/test/file_upload_test.rb +0 -41
- data/test/image_presets_test.rb +0 -32
- data/test/image_upload_test.rb +0 -34
- data/test/rails_uploads_test.rb +0 -9
- data/test/records_test.rb +0 -55
data/test/file_string_test.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class FileStringTest < ActiveSupport::TestCase
|
4
|
-
|
5
|
-
setup :create_file
|
6
|
-
|
7
|
-
test "methods should work properly" do
|
8
|
-
|
9
|
-
# Basic tests
|
10
|
-
|
11
|
-
assert @file.exists?
|
12
|
-
assert_equal 11, @file.size
|
13
|
-
assert_equal '.txt', @file.extname
|
14
|
-
assert_equal ::File.join('', 'uploads', 'files', @file.filename), @file.path
|
15
|
-
assert_equal Rails.root.join('tmp', 'uploads', 'files', @file.filename).to_s, @file.realpath
|
16
|
-
|
17
|
-
# Delete tests
|
18
|
-
|
19
|
-
uploads_path = Rails.root.join('tmp', 'uploads', 'files', @file.filename).to_s
|
20
|
-
@file.delete
|
21
|
-
assert !::File.exists?(uploads_path)
|
22
|
-
assert !@file.exists?
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
protected
|
27
|
-
|
28
|
-
def create_file
|
29
|
-
FileUtils.mkdir_p Rails.root.join('tmp', 'uploads', 'files')
|
30
|
-
filename = 'file.txt'
|
31
|
-
FileUtils.cp ::File.join(ActiveSupport::TestCase.fixture_path, filename), Rails.root.join('tmp', 'uploads', 'files', filename)
|
32
|
-
@file = RailsUploads::Types::File.new(filename)
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
data/test/file_upload_test.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class FileUploadTest < ActiveSupport::TestCase
|
4
|
-
include ActionDispatch::TestProcess
|
5
|
-
|
6
|
-
setup :create_file
|
7
|
-
|
8
|
-
test "methods should work properly" do
|
9
|
-
|
10
|
-
# Basic tests
|
11
|
-
|
12
|
-
assert @file.exists?
|
13
|
-
assert_equal 58841, @file.size
|
14
|
-
assert_equal '.jpg', @file.extname
|
15
|
-
assert_equal ::File.join('', 'uploads', 'files', @file.filename), @file.path
|
16
|
-
|
17
|
-
# Delete test
|
18
|
-
|
19
|
-
@file.delete
|
20
|
-
assert @file.exists?
|
21
|
-
|
22
|
-
# Store and delete tests
|
23
|
-
|
24
|
-
@file.store
|
25
|
-
uploads_path = Rails.root.join('tmp', 'uploads', 'files', @file.filename).to_s
|
26
|
-
assert ::File.exists?(uploads_path)
|
27
|
-
assert_equal uploads_path, @file.realpath
|
28
|
-
|
29
|
-
@file.delete
|
30
|
-
assert !::File.exists?(uploads_path)
|
31
|
-
assert !@file.exists?
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
protected
|
36
|
-
|
37
|
-
def create_file
|
38
|
-
@file = RailsUploads::Types::File.new(fixture_file_upload('/image.jpg', 'image/jpeg'))
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
data/test/image_presets_test.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class ImagePresetsTest < ActiveSupport::TestCase
|
4
|
-
include ActionDispatch::TestProcess
|
5
|
-
|
6
|
-
setup :create_image
|
7
|
-
|
8
|
-
test "should save/destory main image and thumbs" do
|
9
|
-
|
10
|
-
#assert_equal 58841, @record.image.size
|
11
|
-
#assert_equal 89314, @record.image.size(:big)
|
12
|
-
#assert_equal 12057, @record.image.size(:small)
|
13
|
-
|
14
|
-
original = @record.image.realpath
|
15
|
-
big = @record.image.realpath(:big)
|
16
|
-
small = @record.image.realpath(:small)
|
17
|
-
|
18
|
-
@record.destroy
|
19
|
-
|
20
|
-
assert !::File.exists?(original)
|
21
|
-
assert !::File.exists?(big)
|
22
|
-
assert !::File.exists?(small)
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
protected
|
27
|
-
|
28
|
-
def create_image
|
29
|
-
@record = ImageUpload.create :image => fixture_file_upload(::File.join('', 'image.jpg'), 'image/jpeg')
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
data/test/image_upload_test.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class ImageUploadTest < ActiveSupport::TestCase
|
4
|
-
include ActionDispatch::TestProcess
|
5
|
-
|
6
|
-
setup :create_image
|
7
|
-
|
8
|
-
test "should save/destory main image and thumbs" do
|
9
|
-
|
10
|
-
#assert_equal 58841, @image.size
|
11
|
-
#assert_equal 89314, @image.size(:big)
|
12
|
-
#assert_equal 12057, @image.size(:small)
|
13
|
-
|
14
|
-
original = @image.realpath
|
15
|
-
big = @image.realpath(:big)
|
16
|
-
small = @image.realpath(:small)
|
17
|
-
|
18
|
-
@image.delete
|
19
|
-
|
20
|
-
assert !::File.exists?(original)
|
21
|
-
assert !::File.exists?(big)
|
22
|
-
assert !::File.exists?(small)
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
protected
|
27
|
-
|
28
|
-
def create_image
|
29
|
-
@options = { :presets => [:small, :big] }
|
30
|
-
@image = RailsUploads::Types::Image.new(fixture_file_upload(::File.join('', 'image.jpg'), 'image/jpeg'), @options)
|
31
|
-
@image.store
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
data/test/rails_uploads_test.rb
DELETED
data/test/records_test.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class RecordsTest < ActiveSupport::TestCase
|
4
|
-
|
5
|
-
test "should save/update/destroy from the database and save/destroy the file" do
|
6
|
-
|
7
|
-
# Save
|
8
|
-
|
9
|
-
image_fixture_path = ::File.join(ActiveSupport::TestCase.fixture_path, 'image.jpg')
|
10
|
-
record = FileUpload.create(:file => Rack::Test::UploadedFile.new(image_fixture_path, 'image/jpeg'))
|
11
|
-
|
12
|
-
image_filename = record.file.filename
|
13
|
-
assert_equal image_filename, FileUpload.first.file.filename
|
14
|
-
|
15
|
-
image_upload_path = record.file.realpath
|
16
|
-
assert ::File.exists?(image_upload_path)
|
17
|
-
|
18
|
-
# Update
|
19
|
-
|
20
|
-
doc_fixture_path = ::File.join(ActiveSupport::TestCase.fixture_path, 'file.txt')
|
21
|
-
record.update_attributes :file => Rack::Test::UploadedFile.new(doc_fixture_path, 'text/plain')
|
22
|
-
|
23
|
-
doc_filename = record.file.filename
|
24
|
-
assert_not_equal image_filename, doc_filename
|
25
|
-
assert_equal doc_filename, FileUpload.first.file.filename
|
26
|
-
|
27
|
-
doc_upload_path = record.file.realpath
|
28
|
-
assert !::File.exists?(image_upload_path)
|
29
|
-
assert ::File.exists?(doc_upload_path)
|
30
|
-
|
31
|
-
# Destroy
|
32
|
-
|
33
|
-
record.destroy
|
34
|
-
assert !FileUpload.first
|
35
|
-
assert !::File.exists?(doc_upload_path)
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
test "should take default file/image and shouldn't store/delete it" do
|
40
|
-
|
41
|
-
# File
|
42
|
-
|
43
|
-
record = FileUpload.create
|
44
|
-
assert_equal ::File.join('', 'uploads', 'files', 'default.txt'), record.file.path
|
45
|
-
|
46
|
-
# Image
|
47
|
-
|
48
|
-
record = ImageUpload.create
|
49
|
-
assert_equal ::File.join('', 'uploads', 'images', 'original', 'default.jpg'), record.image.path
|
50
|
-
assert_equal ::File.join('', 'uploads', 'images', 'small', 'default.jpg'), record.image.path(:small)
|
51
|
-
assert_equal ::File.join('', 'uploads', 'images', 'big', 'default.jpg'), record.image.path(:big)
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|