defog 0.6.0 → 0.6.1
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/lib/defog/fog_wrapper.rb +7 -0
- data/lib/defog/handle.rb +1 -1
- data/lib/defog/version.rb +1 -1
- data/spec/file_spec.rb +12 -12
- data/spec/handle_spec.rb +10 -1
- metadata +15 -15
data/lib/defog/fog_wrapper.rb
CHANGED
@@ -37,12 +37,19 @@ module Defog #:nodoc: all
|
|
37
37
|
path.open("r#{encoding}") do |file|
|
38
38
|
fog_directory.files.create(:key => @prefix.to_s + key, :body => file)
|
39
39
|
end
|
40
|
+
@heads.delete(key)
|
40
41
|
end
|
41
42
|
|
42
43
|
def fog_head(key)
|
43
44
|
@heads[key] ||= fog_directory.files.head(@prefix.to_s + key)
|
44
45
|
end
|
45
46
|
|
47
|
+
def fog_delete(key)
|
48
|
+
fog_head(key).destroy.tap {
|
49
|
+
@heads.delete(key)
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
46
53
|
def each
|
47
54
|
prefix = @prefix.to_s
|
48
55
|
off = prefix.size
|
data/lib/defog/handle.rb
CHANGED
data/lib/defog/version.rb
CHANGED
data/spec/file_spec.rb
CHANGED
@@ -4,7 +4,7 @@ shared_examples "get proxy" do
|
|
4
4
|
|
5
5
|
it "should create proxy if remote exists" do
|
6
6
|
create_remote("hello")
|
7
|
-
should_log /
|
7
|
+
should_log /Download/
|
8
8
|
file = @proxy.file(key, @mode)
|
9
9
|
File.exist?(file.path).should be_true
|
10
10
|
file.close
|
@@ -18,7 +18,7 @@ shared_examples "get proxy" do
|
|
18
18
|
create_remote("hello")
|
19
19
|
create_proxy("goodbye")
|
20
20
|
proxy_path.read.should == "goodbye"
|
21
|
-
should_log /
|
21
|
+
should_log /Download/
|
22
22
|
@proxy.file(key, @mode)
|
23
23
|
proxy_path.read.should == "hello"
|
24
24
|
end
|
@@ -28,7 +28,7 @@ shared_examples "get proxy" do
|
|
28
28
|
create_proxy("hello")
|
29
29
|
handle = @proxy.file(key)
|
30
30
|
handle.proxy_path.should_not_receive(:open).with(/^w/)
|
31
|
-
should_not_log /
|
31
|
+
should_not_log /Download/
|
32
32
|
handle.open(@mode)
|
33
33
|
end
|
34
34
|
end
|
@@ -84,7 +84,7 @@ shared_examples "append" do
|
|
84
84
|
create_remote("hello")
|
85
85
|
@proxy.file(key, @mode, :persist => true) do |file|
|
86
86
|
file.write "goodbye"
|
87
|
-
should_log /
|
87
|
+
should_log /Upload/
|
88
88
|
end
|
89
89
|
proxy_path.read.should == "hellogoodbye"
|
90
90
|
end
|
@@ -93,7 +93,7 @@ end
|
|
93
93
|
shared_examples "create" do
|
94
94
|
|
95
95
|
it "should create remote" do
|
96
|
-
should_log /
|
96
|
+
should_log /Upload/
|
97
97
|
file = @proxy.file(key, @mode)
|
98
98
|
create_proxy("upload me")
|
99
99
|
file.close
|
@@ -101,7 +101,7 @@ shared_examples "create" do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
it "should not create remote if proxy is deleted" do
|
104
|
-
should_not_log /
|
104
|
+
should_not_log /Upload/
|
105
105
|
@proxy.file(key, @mode) do |file|
|
106
106
|
file.write("ignore me")
|
107
107
|
proxy_path.unlink
|
@@ -110,7 +110,7 @@ shared_examples "create" do
|
|
110
110
|
end
|
111
111
|
|
112
112
|
it "should not create remote if :synchronize => false" do
|
113
|
-
should_not_log /
|
113
|
+
should_not_log /Upload/
|
114
114
|
file = @proxy.file(key, @mode)
|
115
115
|
create_proxy("ignore me")
|
116
116
|
file.close(:synchronize => false)
|
@@ -118,7 +118,7 @@ shared_examples "create" do
|
|
118
118
|
end
|
119
119
|
|
120
120
|
it "should create remote asynchronously if :synchronize => async" do
|
121
|
-
should_log /
|
121
|
+
should_log /Upload/
|
122
122
|
file = @proxy.file(key, @mode)
|
123
123
|
create_proxy("upload me in thread")
|
124
124
|
Thread.should_receive(:new) { |&block|
|
@@ -138,7 +138,7 @@ shared_examples "update" do
|
|
138
138
|
remote_body.should == "overwrite me"
|
139
139
|
file = @proxy.file(key, @mode)
|
140
140
|
create_proxy("upload me")
|
141
|
-
should_log /
|
141
|
+
should_log /Upload/
|
142
142
|
file.close
|
143
143
|
remote_body.should == "upload me"
|
144
144
|
end
|
@@ -151,13 +151,13 @@ shared_examples "update" do
|
|
151
151
|
remote_body.should == "overwrite me"
|
152
152
|
block.call
|
153
153
|
}
|
154
|
-
should_log /
|
154
|
+
should_log /Upload/
|
155
155
|
file.close(:synchronize => :async)
|
156
156
|
remote_body.should == "upload me"
|
157
157
|
end
|
158
158
|
|
159
159
|
it "should not overwrite remote if proxy is deleted" do
|
160
|
-
should_not_log /
|
160
|
+
should_not_log /Upload/
|
161
161
|
create_remote("keep me")
|
162
162
|
@proxy.file(key, @mode) do |file|
|
163
163
|
file.write("ignore me")
|
@@ -167,7 +167,7 @@ shared_examples "update" do
|
|
167
167
|
end
|
168
168
|
|
169
169
|
it "should not overwrite remote if :synchronize => false" do
|
170
|
-
should_not_log /
|
170
|
+
should_not_log /Upload/
|
171
171
|
create_remote("keep me")
|
172
172
|
file = @proxy.file(key, @mode)
|
173
173
|
create_proxy("ignore me")
|
data/spec/handle_spec.rb
CHANGED
@@ -27,7 +27,7 @@ shared_examples "a handle" do |proxyargs|
|
|
27
27
|
:last_modified => :last_modified,
|
28
28
|
:delete => :destroy }.each do |method, fog_method|
|
29
29
|
|
30
|
-
it "should delegate #{method.inspect} to the fog model #{fog_method.inspect}if the remote file exists" do
|
30
|
+
it "should delegate #{method.inspect} to the fog model #{fog_method.inspect} if the remote file exists" do
|
31
31
|
create_remote("delegate me")
|
32
32
|
@handle.fog_model.class.any_instance.should_receive(fog_method).and_return { "dummy" }
|
33
33
|
@handle.send(method).should == "dummy"
|
@@ -61,6 +61,15 @@ shared_examples "a handle" do |proxyargs|
|
|
61
61
|
@handle.fog_model.body.should == "foggy"
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should update when file changes" do
|
65
|
+
create_remote("abc")
|
66
|
+
@proxy.file(key).size.should == 3
|
67
|
+
@proxy.file(key).open("w") do |f|
|
68
|
+
f.write("defghij")
|
69
|
+
end
|
70
|
+
@proxy.file(key).size.should == 7
|
71
|
+
end
|
72
|
+
|
64
73
|
|
65
74
|
end
|
66
75
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: defog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
16
|
-
requirement: &
|
16
|
+
requirement: &70295900380220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70295900380220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: hash_keyword_args
|
27
|
-
requirement: &
|
27
|
+
requirement: &70295900379640 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70295900379640
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: fastandand
|
38
|
-
requirement: &
|
38
|
+
requirement: &70295900379020 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70295900379020
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &70295900378340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70295900378340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &70295900377800 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70295900377800
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
|
-
requirement: &
|
71
|
+
requirement: &70295900376820 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70295900376820
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: simplecov-gem-adapter
|
82
|
-
requirement: &
|
82
|
+
requirement: &70295900362380 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70295900362380
|
91
91
|
description: Wrapper to fog gem, proxying access to cloud files as local files.
|
92
92
|
email:
|
93
93
|
- ronen@barzel.org
|