paperclip-storage-tmp 0.0.3 → 0.0.4
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/.travis.yml +1 -0
- data/CHANGELOG.md +16 -4
- data/Gemfile.ci +1 -1
- data/README.md +2 -1
- data/Rakefile +1 -1
- data/lib/paperclip-storage-tmp/version.rb +1 -1
- data/lib/paperclip/storage/tmp.rb +8 -3
- data/spec/fixtures/user.rb +1 -1
- data/spec/lib/paperclip/storage/tmp_spec.rb +7 -7
- data/spec/support/active_record.rb +1 -1
- metadata +2 -2
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,16 +1,28 @@
|
|
1
|
+
## Not released yet:
|
2
|
+
|
3
|
+
* (no changes)
|
4
|
+
|
5
|
+
## 0.0.4 (2012-06-15):
|
6
|
+
|
7
|
+
* Ruby 1.8 compatability: use `Tempfile#path` when opening new file
|
8
|
+
instead passing `Tempfile` directly (mikz)
|
9
|
+
* Rewind the file queued for write before returning it (exviva)
|
10
|
+
* Unlink the file **and** close the file descriptor when clearing
|
11
|
+
the attachments (exviva)
|
12
|
+
|
1
13
|
## 0.0.3 (2012-05-15):
|
2
14
|
|
3
15
|
* Depend on Paperclip `>= 2.4.2`, which properly handles
|
4
|
-
`<attachment>_file_name` assignment from `Paperclip::Attachment`
|
16
|
+
`<attachment>_file_name` assignment from `Paperclip::Attachment` (exviva)
|
5
17
|
|
6
18
|
## 0.0.2 (2012-05-12):
|
7
19
|
|
8
20
|
* Provide one-line testing helpers for RSpec and Cucumber;
|
9
21
|
they require the gem and add after hooks which clear the
|
10
|
-
tmp storage
|
22
|
+
tmp storage (exviva)
|
11
23
|
|
12
24
|
## 0.0.1 (2012-05-11):
|
13
25
|
|
14
26
|
* Implement `Paperclip::Storage::Tmp.clear` which clears all
|
15
|
-
attachments from the filesystem (and from the "virtual" filesystem)
|
16
|
-
* Provide a `:tmp` storage option for Paperclip attachments
|
27
|
+
attachments from the filesystem (and from the "virtual" filesystem) (exviva)
|
28
|
+
* Provide a `:tmp` storage option for Paperclip attachments (exviva)
|
data/Gemfile.ci
CHANGED
data/README.md
CHANGED
@@ -100,7 +100,8 @@ Here are a couple of specs, which expose the expected behaviour of this gem. The
|
|
100
100
|
|
101
101
|
describe User do
|
102
102
|
describe 'avatar' do
|
103
|
-
let(:
|
103
|
+
let(:avatar_file) { File.new('spec/fixtures/hey_mom_its_me.png') }
|
104
|
+
let(:user) { User.create!(avatar: avatar_file) }
|
104
105
|
subject { user.avatar }
|
105
106
|
|
106
107
|
it { should exist }
|
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ module Paperclip
|
|
7
7
|
|
8
8
|
# Deletes the temporary files and releases references to them
|
9
9
|
def self.clear
|
10
|
-
fs.each_value {|f| f.
|
10
|
+
fs.each_value {|f| f.close! }
|
11
11
|
@fs = nil
|
12
12
|
end
|
13
13
|
|
@@ -16,7 +16,12 @@ module Paperclip
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def to_file(style_name = default_style)
|
19
|
-
@queued_for_write[style_name]
|
19
|
+
if @queued_for_write[style_name]
|
20
|
+
@queued_for_write[style_name].rewind
|
21
|
+
@queued_for_write[style_name]
|
22
|
+
elsif exists?(style_name)
|
23
|
+
File.new(Tmp.fs[path(style_name)].path, 'rb')
|
24
|
+
end
|
20
25
|
end
|
21
26
|
|
22
27
|
def flush_writes
|
@@ -31,7 +36,7 @@ module Paperclip
|
|
31
36
|
def flush_deletes
|
32
37
|
@queued_for_delete.each do |path|
|
33
38
|
if file = Tmp.fs.delete(path)
|
34
|
-
file.
|
39
|
+
file.close!
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
data/spec/fixtures/user.rb
CHANGED
@@ -7,7 +7,7 @@ describe Paperclip::Storage::Tmp do
|
|
7
7
|
|
8
8
|
[proc { user.avatar }, proc { user.reload.avatar }].each do |subject_proc|
|
9
9
|
describe 'assigning an attachment' do
|
10
|
-
let(:user) { User.create!(avatar
|
10
|
+
let(:user) { User.create!(:avatar => avatar_file) }
|
11
11
|
subject(&subject_proc)
|
12
12
|
|
13
13
|
it { should exist }
|
@@ -23,7 +23,7 @@ describe Paperclip::Storage::Tmp do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'copies the assigned file' do
|
26
|
-
File.read(subject.to_file).should eq(File.read(avatar_file))
|
26
|
+
File.read(subject.to_file.path).should eq(File.read(avatar_file.path))
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'stores the file in an imagemagick-friendly way' do
|
@@ -39,17 +39,17 @@ describe Paperclip::Storage::Tmp do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'can handle assignment from File' do
|
42
|
-
new_user = User.new(avatar
|
42
|
+
new_user = User.new(:avatar => avatar_file)
|
43
43
|
new_user.avatar_file_name.should eq('hey_mom_its_me.png')
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'can persist assignment from File' do
|
47
|
-
new_user = User.create!(avatar
|
47
|
+
new_user = User.create!(:avatar => avatar_file)
|
48
48
|
new_user.reload.avatar_file_name.should eq('hey_mom_its_me.png')
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'can handle assignment from Paperclip::Attachment' do
|
52
|
-
new_user = User.new(avatar
|
52
|
+
new_user = User.new(:avatar => subject)
|
53
53
|
new_user.avatar_file_name.should eq('hey_mom_its_me.png')
|
54
54
|
end
|
55
55
|
end
|
@@ -67,7 +67,7 @@ describe Paperclip::Storage::Tmp do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
describe 'destroying an attachment' do
|
70
|
-
let(:user) { User.create!(avatar
|
70
|
+
let(:user) { User.create!(:avatar => avatar_file) }
|
71
71
|
subject do
|
72
72
|
@path_before_destroy = user.avatar.to_file.path
|
73
73
|
user.destroy
|
@@ -84,7 +84,7 @@ describe Paperclip::Storage::Tmp do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
describe 'clear' do
|
87
|
-
let(:user) { User.create!(avatar
|
87
|
+
let(:user) { User.create!(:avatar => avatar_file) }
|
88
88
|
subject { Paperclip::Storage::Tmp.clear }
|
89
89
|
|
90
90
|
it 'deletes files' do
|
@@ -2,7 +2,7 @@ require 'active_record'
|
|
2
2
|
ActiveRecord::Base.send(:include, Paperclip::Glue)
|
3
3
|
require 'fixtures/user'
|
4
4
|
|
5
|
-
ActiveRecord::Base.establish_connection(adapter
|
5
|
+
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
|
6
6
|
|
7
7
|
ActiveRecord::Schema.define do
|
8
8
|
create_table :users do |t|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip-storage-tmp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: paperclip
|