remote_files 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/remote_files/fog_store.rb +15 -4
- data/lib/remote_files/version.rb +1 -1
- data/test/fog_store_test.rb +14 -6
- metadata +4 -4
@@ -66,11 +66,22 @@ module RemoteFiles
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def directory
|
69
|
-
@directory ||=
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
@directory ||= lookup_directory || create_directory
|
70
|
+
end
|
71
|
+
|
72
|
+
protected
|
73
|
+
|
74
|
+
def lookup_directory
|
75
|
+
connection.directories.get(options[:directory])
|
73
76
|
end
|
74
77
|
|
78
|
+
def create_directory
|
79
|
+
connection.directories.new(
|
80
|
+
:key => options[:directory],
|
81
|
+
:public => options[:public]
|
82
|
+
).tap do |dir|
|
83
|
+
dir.save
|
84
|
+
end
|
85
|
+
end
|
75
86
|
end
|
76
87
|
end
|
data/lib/remote_files/version.rb
CHANGED
data/test/fog_store_test.rb
CHANGED
@@ -8,8 +8,6 @@ describe RemoteFiles::FogStore do
|
|
8
8
|
:aws_secret_access_key => 'secret_access_key'
|
9
9
|
})
|
10
10
|
|
11
|
-
@directory = @connection.directories.create(:key => 'directory')
|
12
|
-
|
13
11
|
@store = RemoteFiles::FogStore.new(:fog)
|
14
12
|
@store[:provider] = 'AWS'
|
15
13
|
@store[:aws_access_key_id] = 'access_key_id'
|
@@ -32,6 +30,16 @@ describe RemoteFiles::FogStore do
|
|
32
30
|
|
33
31
|
directory.key.must_equal('directory')
|
34
32
|
end
|
33
|
+
|
34
|
+
it 'should create the remote directory if it does not exist' do
|
35
|
+
assert_nil @connection.directories.get('directory')
|
36
|
+
|
37
|
+
directory = @store.directory
|
38
|
+
assert directory
|
39
|
+
assert_equal 'directory', directory.key
|
40
|
+
|
41
|
+
assert @connection.directories.get('directory')
|
42
|
+
end
|
35
43
|
end
|
36
44
|
|
37
45
|
describe '#store!' do
|
@@ -42,7 +50,7 @@ describe RemoteFiles::FogStore do
|
|
42
50
|
it 'should store the file in the directory' do
|
43
51
|
@store.store!(@file)
|
44
52
|
|
45
|
-
fog_file = @directory.files.get('identifier')
|
53
|
+
fog_file = @store.directory.files.get('identifier')
|
46
54
|
|
47
55
|
fog_file.must_be_instance_of(Fog::Storage::AWS::File)
|
48
56
|
fog_file.content_type.must_equal('text/plain')
|
@@ -50,14 +58,14 @@ describe RemoteFiles::FogStore do
|
|
50
58
|
end
|
51
59
|
|
52
60
|
it 'should raise a RemoteFiles::Error when an error happens' do
|
53
|
-
@directory.destroy
|
61
|
+
@store.directory.destroy
|
54
62
|
proc { @store.store!(@file) }.must_raise(RemoteFiles::Error)
|
55
63
|
end
|
56
64
|
end
|
57
65
|
|
58
66
|
describe '#retrieve!' do
|
59
67
|
it 'should return a RemoteFiles::File when found' do
|
60
|
-
@directory.files.create(
|
68
|
+
@store.directory.files.create(
|
61
69
|
:body => 'content',
|
62
70
|
:content_type => 'text/plain',
|
63
71
|
:key => 'identifier'
|
@@ -75,7 +83,7 @@ describe RemoteFiles::FogStore do
|
|
75
83
|
end
|
76
84
|
|
77
85
|
it 'should raise a RemoteFiles::Error when error' do
|
78
|
-
@directory.destroy
|
86
|
+
@store.directory.destroy
|
79
87
|
proc { @store.retrieve!('identifier') }.must_raise(RemoteFiles::Error)
|
80
88
|
end
|
81
89
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remote_files
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
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-09-
|
12
|
+
date: 2012-09-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -146,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
146
|
version: '0'
|
147
147
|
segments:
|
148
148
|
- 0
|
149
|
-
hash:
|
149
|
+
hash: 3219444270301945371
|
150
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
@@ -155,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
155
|
version: '0'
|
156
156
|
segments:
|
157
157
|
- 0
|
158
|
-
hash:
|
158
|
+
hash: 3219444270301945371
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
161
|
rubygems_version: 1.8.24
|