s3 0.3.0.beta2 → 0.3.0

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/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