fog 0.3.24 → 0.3.25
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/Gemfile.lock +1 -1
- data/README.rdoc +1 -2
- data/fog.gemspec +2 -2
- data/lib/fog.rb +1 -1
- data/lib/fog/local/models/storage/file.rb +1 -1
- data/lib/fog/local/models/storage/files.rb +16 -2
- data/lib/fog/rackspace/models/storage/directory.rb +5 -2
- data/lib/fog/rackspace/models/storage/files.rb +2 -2
- data/tests/helper.rb +8 -0
- metadata +3 -3
data/Gemfile.lock
CHANGED
data/README.rdoc
CHANGED
@@ -129,8 +129,7 @@ Enjoy, and let me know what I can do to continue improving fog!
|
|
129
129
|
* Follow {@fog}[http://twitter.com/fog] and/or {@geemus}[http://twitter.com/geemus] on Twitter
|
130
130
|
* Discuss in irc on the {#ruby-fog}[irc://irc.freenode.net/ruby-fog] channel on Freenode
|
131
131
|
* Discuss via email on the {mailing list}[http://groups.google.com/group/ruby-fog] (note: release notes appear on this list)
|
132
|
-
*
|
133
|
-
* Report bugs in {issues}[http://github.com/geemus/fog/issues]
|
132
|
+
* Report bugs or find stuff to work on in {issues}[http://github.com/geemus/fog/issues]
|
134
133
|
* Learn about {contributing}[http://github.com/geemus/fog/wiki/contributor-guide] or find more info about the {Providers}[http://github.com/geemus/fog/wiki/Providers] (including some todo items)
|
135
134
|
* See what already uses fog and add your own stuff to {the list}[http://wiki.github.com/geemus/fog/in-the-wild]
|
136
135
|
|
data/fog.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
|
|
7
7
|
## If your rubyforge_project name is different, then edit it and comment out
|
8
8
|
## the sub! line in the Rakefile
|
9
9
|
s.name = 'fog'
|
10
|
-
s.version = '0.3.
|
11
|
-
s.date = '2010-11-
|
10
|
+
s.version = '0.3.25'
|
11
|
+
s.date = '2010-11-23'
|
12
12
|
s.rubyforge_project = 'fog'
|
13
13
|
|
14
14
|
## Make sure your summary is short. The description may be as long
|
data/lib/fog.rb
CHANGED
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
path = file_path(key)
|
21
21
|
{
|
22
22
|
:content_length => ::File.size(path),
|
23
|
-
:key => key,
|
23
|
+
:key => CGI.unescape(key),
|
24
24
|
:last_modified => ::File.mtime(path)
|
25
25
|
}
|
26
26
|
end
|
@@ -32,7 +32,7 @@ module Fog
|
|
32
32
|
|
33
33
|
def get(key, &block)
|
34
34
|
requires :directory
|
35
|
-
path = file_path(key)
|
35
|
+
path = file_path(CGI.escape(key))
|
36
36
|
if ::File.exists?(path)
|
37
37
|
data = {
|
38
38
|
:content_length => ::File.size(path),
|
@@ -53,6 +53,20 @@ module Fog
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
def head(key)
|
57
|
+
requires :directory
|
58
|
+
path = file_path(CGI.escape(key))
|
59
|
+
if ::File.exists?(path)
|
60
|
+
new({
|
61
|
+
:content_length => ::File.size(path),
|
62
|
+
:key => key,
|
63
|
+
:last_modified => ::File.mtime(path)
|
64
|
+
})
|
65
|
+
else
|
66
|
+
nil
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
56
70
|
def new(attributes = {})
|
57
71
|
requires :directory
|
58
72
|
super({ :directory => directory }.merge!(attributes))
|
@@ -40,7 +40,7 @@ module Fog
|
|
40
40
|
requires :key
|
41
41
|
@public_url ||= begin
|
42
42
|
begin response = connection.cdn.head_container(key)
|
43
|
-
response.headers['X-CDN-URI']
|
43
|
+
response.headers['X-CDN-Enabled'] == 'True' && response.headers['X-CDN-URI']
|
44
44
|
rescue Fog::Service::NotFound
|
45
45
|
nil
|
46
46
|
end
|
@@ -51,7 +51,10 @@ module Fog
|
|
51
51
|
requires :key
|
52
52
|
connection.put_container(key)
|
53
53
|
if @public
|
54
|
-
@public_url = connection.cdn.put_container(key).headers['X-CDN-URI']
|
54
|
+
@public_url = connection.cdn.put_container(key, 'X-CDN-Enabled' => 'True').headers['X-CDN-URI']
|
55
|
+
else
|
56
|
+
connection.cdn.put_container(key, 'X-CDN-Enabled' => 'False')
|
57
|
+
@public_url = nil
|
55
58
|
end
|
56
59
|
true
|
57
60
|
end
|
@@ -49,12 +49,12 @@ module Fog
|
|
49
49
|
|
50
50
|
def get_url(key, expires)
|
51
51
|
requires :directory
|
52
|
-
connection.get_object_url(directory.
|
52
|
+
connection.get_object_url(directory.key, key, expires)
|
53
53
|
end
|
54
54
|
|
55
55
|
def head(key, options = {})
|
56
56
|
requires :directory
|
57
|
-
data = connection.head_object(directory.
|
57
|
+
data = connection.head_object(directory.key, key)
|
58
58
|
file_data = data.headers.merge({
|
59
59
|
:key => key
|
60
60
|
})
|
data/tests/helper.rb
CHANGED
@@ -28,6 +28,14 @@ if ENV["FOG_MOCK"] == "true"
|
|
28
28
|
Fog.mock!
|
29
29
|
end
|
30
30
|
|
31
|
+
# check to see which credentials are available and add others to the skipped tags list
|
32
|
+
all_providers = ['aws', 'bluebox', 'brightbox', 'gogrid', 'google', 'linode', 'local', 'newservers', 'rackspace', 'slicehost', 'terremark']
|
33
|
+
available_providers = Fog.providers.map {|provider| provider.to_s.downcase}
|
34
|
+
for provider in (all_providers - available_providers)
|
35
|
+
Formatador.display_line("[yellow]Skipping tests for [bold]#{provider}[/] [yellow]due to lacking credentials (add some to '~/.fog' to run them)[/]")
|
36
|
+
Thread.current[:tags] << ('-' << provider)
|
37
|
+
end
|
38
|
+
|
31
39
|
# Boolean hax
|
32
40
|
module Fog
|
33
41
|
module Boolean
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 25
|
9
|
+
version: 0.3.25
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- geemus (Wesley Beary)
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-23 00:00:00 -08:00
|
18
18
|
default_executable: fog
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|