s3 0.3.0.beta2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -8,11 +8,10 @@ It supports both: European and US buckets through {REST API}[http://docs.amazonw
8
8
  * repository[http://github.com/qoobaa/s3]
9
9
  * {issue tracker}[http://github.com/qoobaa/s3/issues]
10
10
  * rdoc[http://qoobaa.github.com/s3]
11
- * {continuous integration}[http://runcoderun.com/qoobaa/s3]
12
11
 
13
12
  == Installation
14
13
 
15
- gem install s3 --source http://gemcutter.org
14
+ gem install s3
16
15
 
17
16
  == Usage
18
17
 
data/lib/s3.rb CHANGED
@@ -18,9 +18,9 @@ require "s3/exceptions"
18
18
  require "s3/object"
19
19
  require "s3/service"
20
20
  require "s3/signature"
21
+ require "s3/version"
21
22
 
22
23
  module S3
23
- VERSION = "0.3.0.beta2"
24
24
  # Default (and only) host serving S3 stuff
25
25
  HOST = "s3.amazonaws.com"
26
26
  end
data/lib/s3/connection.rb CHANGED
@@ -166,7 +166,7 @@ module S3
166
166
  http
167
167
  end
168
168
 
169
- def send_request(host, request)
169
+ def send_request(host, request, skip_authorization = false)
170
170
  response = http(host).start do |http|
171
171
  host = http.address
172
172
 
@@ -177,14 +177,24 @@ module S3
177
177
  request["Content-MD5"] = Base64.encode64(Digest::MD5.digest(request.body)).chomp unless request.body.empty?
178
178
  end
179
179
 
180
- request["Authorization"] = Signature.generate(:host => host,
181
- :request => request,
182
- :access_key_id => access_key_id,
183
- :secret_access_key => secret_access_key)
180
+ unless skip_authorization
181
+ request["Authorization"] = Signature.generate(:host => host,
182
+ :request => request,
183
+ :access_key_id => access_key_id,
184
+ :secret_access_key => secret_access_key)
185
+ end
186
+
184
187
  http.request(request)
185
188
  end
186
189
 
187
- handle_response(response)
190
+ if response.code.to_i == 307
191
+ if response.body
192
+ doc = Document.new response.body
193
+ send_request(doc.elements['Error'].elements['Endpoint'].text, request, true)
194
+ end
195
+ else
196
+ handle_response(response)
197
+ end
188
198
  end
189
199
 
190
200
  def handle_response(response)
data/lib/s3/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module S3
2
+ VERSION = "0.3.0"
3
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ hash: 19
5
+ prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 3
8
9
  - 0
9
- - beta2
10
- version: 0.3.0.beta2
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Jakub Ku\xC5\xBAma"
@@ -15,16 +15,18 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-04-20 00:00:00 +02:00
18
+ date: 2010-05-23 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: trollop
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
29
+ hash: 3
28
30
  segments:
29
31
  - 0
30
32
  version: "0"
@@ -34,9 +36,11 @@ dependencies:
34
36
  name: proxies
35
37
  prerelease: false
36
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
37
40
  requirements:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
43
+ hash: 3
40
44
  segments:
41
45
  - 0
42
46
  version: "0"
@@ -46,9 +50,11 @@ dependencies:
46
50
  name: test-unit
47
51
  prerelease: false
48
52
  requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
49
54
  requirements:
50
55
  - - ">="
51
56
  - !ruby/object:Gem::Version
57
+ hash: 3
52
58
  segments:
53
59
  - 2
54
60
  - 0
@@ -59,9 +65,11 @@ dependencies:
59
65
  name: mocha
60
66
  prerelease: false
61
67
  requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
62
69
  requirements:
63
70
  - - ">="
64
71
  - !ruby/object:Gem::Version
72
+ hash: 3
65
73
  segments:
66
74
  - 0
67
75
  version: "0"
@@ -79,16 +87,17 @@ files:
79
87
  - bin/s3
80
88
  - extra/s3_attachment_fu.rb
81
89
  - extra/s3_paperclip.rb
90
+ - lib/s3.rb
91
+ - lib/s3/object.rb
82
92
  - lib/s3/parser.rb
93
+ - lib/s3/signature.rb
94
+ - lib/s3/bucket.rb
95
+ - lib/s3/exceptions.rb
96
+ - lib/s3/service.rb
97
+ - lib/s3/version.rb
83
98
  - lib/s3/buckets_extension.rb
84
99
  - lib/s3/connection.rb
85
- - lib/s3/exceptions.rb
86
- - lib/s3/bucket.rb
87
100
  - lib/s3/objects_extension.rb
88
- - lib/s3/object.rb
89
- - lib/s3/service.rb
90
- - lib/s3/signature.rb
91
- - lib/s3.rb
92
101
  - LICENSE
93
102
  - README.rdoc
94
103
  has_rdoc: true
@@ -101,16 +110,20 @@ rdoc_options: []
101
110
  require_paths:
102
111
  - lib
103
112
  required_ruby_version: !ruby/object:Gem::Requirement
113
+ none: false
104
114
  requirements:
105
115
  - - ">="
106
116
  - !ruby/object:Gem::Version
117
+ hash: 3
107
118
  segments:
108
119
  - 0
109
120
  version: "0"
110
121
  required_rubygems_version: !ruby/object:Gem::Requirement
122
+ none: false
111
123
  requirements:
112
124
  - - ">="
113
125
  - !ruby/object:Gem::Version
126
+ hash: 23
114
127
  segments:
115
128
  - 1
116
129
  - 3
@@ -119,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
132
  requirements: []
120
133
 
121
134
  rubyforge_project:
122
- rubygems_version: 1.3.6
135
+ rubygems_version: 1.3.7
123
136
  signing_key:
124
137
  specification_version: 3
125
138
  summary: Library for accessing S3 objects and buckets, with command line tool