s4 0.0.4 → 0.0.5
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/CHANGELOG +5 -0
- data/lib/s4.rb +2 -2
- data/test/s4_test.rb +11 -1
- metadata +8 -8
data/CHANGELOG
CHANGED
data/lib/s4.rb
CHANGED
@@ -6,7 +6,7 @@ require "json"
|
|
6
6
|
|
7
7
|
# Simpler AWS S3 library
|
8
8
|
class S4
|
9
|
-
VERSION = "0.0.
|
9
|
+
VERSION = "0.0.5"
|
10
10
|
|
11
11
|
# sub-resource names which may appear in the query string and also must be
|
12
12
|
# signed against.
|
@@ -175,7 +175,7 @@ class S4
|
|
175
175
|
uri = uri(name)
|
176
176
|
req = Net::HTTP::Put.new(uri.request_uri)
|
177
177
|
|
178
|
-
content_type = `file -ib #{io.path}`.chomp if !content_type && io.respond_to?(:path)
|
178
|
+
content_type = `file -ib '#{io.path}'`.chomp if !content_type && io.respond_to?(:path)
|
179
179
|
|
180
180
|
req.add_field "Content-Type", content_type
|
181
181
|
req.add_field "Content-Length", io.size
|
data/test/s4_test.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
raise "You need to have ENV[\"S3_URL\"] set for the tests to connect to your testing bucket on S3. Format is: 's3://<access key id>:<secret access key>@s3.amazonaws.com/<s4 test bucket>'." unless ENV["S3_URL"]
|
2
|
-
raise "You need to have ENV[\"S4_NEW_BUCKET\"], which will be dynamically created and destroyed for testing bucket creation
|
2
|
+
raise "You need to have ENV[\"S4_NEW_BUCKET\"], which will be dynamically created and destroyed for testing bucket creation, e.g. 's4-test-bucketthatdoesntexist'." unless ENV["S4_NEW_BUCKET"]
|
3
|
+
raise "You need to install the command line client for S3 (s3cmd) in order to run the tests" unless system("which s3cmd")
|
3
4
|
|
4
5
|
require "contest"
|
5
6
|
require "timecop"
|
@@ -174,6 +175,15 @@ class S4Test < Test::Unit::TestCase
|
|
174
175
|
assert_equal "text/plain", foo.content_type
|
175
176
|
end
|
176
177
|
|
178
|
+
should "upload foo bar.txt" do
|
179
|
+
@s4.upload(fixture("foo bar.txt"))
|
180
|
+
|
181
|
+
foo = open("http://s3.amazonaws.com/#{TestBucket}/foo%20bar.txt")
|
182
|
+
|
183
|
+
assert_equal "abc123", foo.read
|
184
|
+
assert_equal "text/plain", foo.content_type
|
185
|
+
end
|
186
|
+
|
177
187
|
should "use given content_type" do
|
178
188
|
@s4.put StringIO.new("abcdef", "r"), "bar.txt", "text/foobar"
|
179
189
|
assert_equal "text/foobar", open("http://s3.amazonaws.com/#{TestBucket}/bar.txt").content_type
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s4
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-18 00:00:00.000000000 -03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: net-http-persistent
|
17
|
-
requirement: &
|
17
|
+
requirement: &2156443380 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '1.7'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2156443380
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: cutest
|
28
|
-
requirement: &
|
28
|
+
requirement: &2156442320 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2156442320
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: timecop
|
39
|
-
requirement: &
|
39
|
+
requirement: &2156439240 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0.3'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2156439240
|
48
48
|
description: Simple API for AWS S3
|
49
49
|
email:
|
50
50
|
- ben.alavi@citrusbyte.com
|