sndacs 0.0.1 → 0.1.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/Gemfile.lock +0 -2
- data/README.rdoc +21 -3
- data/lib/sndacs/bucket.rb +100 -52
- data/lib/sndacs/buckets_extension.rb +5 -0
- data/lib/sndacs/config.rb +59 -0
- data/lib/sndacs/connection.rb +38 -13
- data/lib/sndacs/exceptions.rb +6 -3
- data/lib/sndacs/object.rb +35 -24
- data/lib/sndacs/objects_extension.rb +2 -0
- data/lib/sndacs/parser.rb +31 -8
- data/lib/sndacs/request.rb +8 -1
- data/lib/sndacs/service.rb +38 -27
- data/lib/sndacs/signature.rb +6 -31
- data/lib/sndacs/version.rb +1 -1
- data/lib/sndacs.rb +28 -2
- data/sndacs.gemspec +5 -5
- data/spec/sndacs/bucket_spec.rb +180 -0
- data/spec/sndacs/object_spec.rb +167 -0
- data/spec/sndacs/service_spec.rb +30 -19
- data/spec/spec_helper.rb +19 -0
- metadata +90 -66
- data/test/bucket_test.rb +0 -215
- data/test/connection_test.rb +0 -214
- data/test/object_test.rb +0 -205
- data/test/service_test.rb +0 -111
- data/test/signature_test.rb +0 -205
- data/test/test_helper.rb +0 -3
@@ -0,0 +1,180 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Sndacs
|
4
|
+
|
5
|
+
describe Bucket do
|
6
|
+
before :all do
|
7
|
+
@service = Sndacs::Service.new
|
8
|
+
end
|
9
|
+
|
10
|
+
before :each do
|
11
|
+
sleep 1 # for delay
|
12
|
+
|
13
|
+
@bucket_spec_name = 'bucket-spec-test-' << Time.now.to_i.to_s
|
14
|
+
@bucket_spec_region = 'huabei-1'
|
15
|
+
@bucket_spec = Bucket.send(:new, @service, @bucket_spec_name, @bucket_spec_region)
|
16
|
+
end
|
17
|
+
|
18
|
+
context "#retrieve" do
|
19
|
+
it "should works" do
|
20
|
+
@bucket_spec.save
|
21
|
+
|
22
|
+
bucket = @bucket_spec.retrieve
|
23
|
+
bucket.should == @bucket_spec
|
24
|
+
|
25
|
+
@bucket_spec.destroy
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should raise Sndacs::Error::NoSuchBucket if bucket does not exist" do
|
29
|
+
lambda {
|
30
|
+
@bucket_spec.retrieve
|
31
|
+
}.should raise_error(Sndacs::Error::NoSuchBucket)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "#location" do
|
36
|
+
before :each do
|
37
|
+
@bucket_spec.save
|
38
|
+
end
|
39
|
+
|
40
|
+
after :each do
|
41
|
+
@bucket_spec.destroy
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should works" do
|
45
|
+
bucket_location = @bucket_spec.location
|
46
|
+
|
47
|
+
bucket_location.should == @bucket_spec_region
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should reload location with force=true" do
|
51
|
+
@bucket_spec.should_receive(:location_constraint).and_return(@bucket_spec_region)
|
52
|
+
|
53
|
+
@bucket_spec.location(true)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "#save" do
|
58
|
+
it "should works" do
|
59
|
+
@bucket_spec.should_receive(:create_bucket_configuration)
|
60
|
+
|
61
|
+
@bucket_spec.save
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should raise Sndacs::Error::BucketAlreadyExists if bucket alreay exist" do
|
65
|
+
@bucket_spec.save
|
66
|
+
|
67
|
+
lambda {
|
68
|
+
@bucket_spec.save
|
69
|
+
}.should raise_error(Sndacs::Error::BucketAlreadyExists)
|
70
|
+
|
71
|
+
@bucket_spec.destroy
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context "#destroy" do
|
76
|
+
before :each do
|
77
|
+
@bucket_spec.save
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should works" do
|
81
|
+
#@bucket_spec.should_receive(:delete_bucket)
|
82
|
+
|
83
|
+
@bucket_spec.destroy.should == true
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should destroy bucket whether it has objects in it with force=true" do
|
87
|
+
bucket_object = @bucket_spec.object("object-spec-test-#{Time.now.to_i.to_s}")
|
88
|
+
bucket_object.content = 'Hello,world!'
|
89
|
+
bucket_object.save
|
90
|
+
|
91
|
+
@bucket_spec.destroy(true).should == true
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should raise Sndacs::Error::NoSuchBucket if bucket doest not exist" do
|
95
|
+
@bucket_spec.destroy
|
96
|
+
|
97
|
+
lambda {
|
98
|
+
@bucket_spec.destroy
|
99
|
+
}.should raise_error(Sndacs::Error::NoSuchBucket)
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should raise Sndacs::Error::BucketNotEmpty if bucket has objects in it" do
|
103
|
+
bucket_object = @bucket_spec.object("object-spec-test-#{Time.now.to_i.to_s}")
|
104
|
+
bucket_object.content = 'Hello,world!'
|
105
|
+
bucket_object.save
|
106
|
+
|
107
|
+
lambda {
|
108
|
+
@bucket_spec.destroy
|
109
|
+
}.should raise_error(Sndacs::Error::BucketNotEmpty)
|
110
|
+
|
111
|
+
bucket_object.destroy
|
112
|
+
|
113
|
+
@bucket_spec.destroy
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context "#exists?" do
|
118
|
+
it "should return true if bucket exists" do
|
119
|
+
@bucket_spec.save
|
120
|
+
|
121
|
+
@bucket_spec.exists?.should == true
|
122
|
+
|
123
|
+
@bucket_spec.destroy
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should return false if bucket does not exist" do
|
127
|
+
@bucket_spec.exists?.should == false
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
context "#vhost?" do
|
132
|
+
xit "should works" do
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context "#host" do
|
137
|
+
it "should obey @location when @location is supplied" do
|
138
|
+
@bucket_spec.host.should =~ /#{@bucket_spec_region}/
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should use Sndacs::REGION_DEFAULT when @location is empty" do
|
142
|
+
bucket_tmp = Bucket.send(:new, @service, @bucket_spec_name, nil)
|
143
|
+
bucket_tmp.host.should =~ /#{Sndacs::REGION_DEFAULT}/
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
context "#path_prefix" do
|
148
|
+
it "should works" do
|
149
|
+
@bucket_spec.path_prefix.should =~ /#{@bucket_spec_name}/
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
context "#objects" do
|
154
|
+
before :each do
|
155
|
+
@bucket_spec.save
|
156
|
+
end
|
157
|
+
|
158
|
+
after :each do
|
159
|
+
@bucket_spec.destroy true
|
160
|
+
end
|
161
|
+
|
162
|
+
it "should works" do
|
163
|
+
bucket_object = @bucket_spec.object("object-spec-test-#{Time.now.to_i.to_s}")
|
164
|
+
bucket_object.content = 'Hello,world!'
|
165
|
+
bucket_object.save
|
166
|
+
|
167
|
+
bucket_objects = @bucket_spec.objects
|
168
|
+
bucket_objects.should be_instance_of(Array)
|
169
|
+
bucket_objects.should include(bucket_object)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
context "#object" do
|
174
|
+
it "should works" do
|
175
|
+
@bucket_spec.object("object-spec-test-#{Time.now.to_i.to_s}").should be_instance_of(Sndacs::Object)
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
end
|
@@ -0,0 +1,167 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
module Sndacs
|
5
|
+
|
6
|
+
describe Object do
|
7
|
+
before :all do
|
8
|
+
@service = Sndacs::Service.new
|
9
|
+
|
10
|
+
@bucket_spec_name = "bucket-spec-test-#{Time.now.to_i.to_s}"
|
11
|
+
@bucket_spec_region = 'huabei-1'
|
12
|
+
@bucket_spec = Bucket.send(:new, @service, @bucket_spec_name, @bucket_spec_region)
|
13
|
+
@bucket_spec.save
|
14
|
+
end
|
15
|
+
|
16
|
+
after :all do
|
17
|
+
@bucket_spec.destroy
|
18
|
+
end
|
19
|
+
|
20
|
+
before :each do
|
21
|
+
#sleep 1
|
22
|
+
|
23
|
+
@object_spec_name = "object-spec-test-#{Time.now.to_i.to_s}.txt"
|
24
|
+
@object_spec_content = 'Hello,world!'
|
25
|
+
@object_spec = @bucket_spec.object @object_spec_name
|
26
|
+
@object_spec.content = @object_spec_content
|
27
|
+
end
|
28
|
+
|
29
|
+
context "#retrieve" do
|
30
|
+
it "should works" do
|
31
|
+
@object_spec.save
|
32
|
+
|
33
|
+
object = @object_spec.retrieve
|
34
|
+
object.should == @object_spec
|
35
|
+
|
36
|
+
@object_spec.destroy
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should raise Sndacs::Error::NoSuchKey if object does not exist" do
|
40
|
+
lambda {
|
41
|
+
@object_spec.retrieve
|
42
|
+
}.should raise_error(Sndacs::Error::NoSuchKey)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "#content" do
|
47
|
+
before :each do
|
48
|
+
@object_spec.save
|
49
|
+
end
|
50
|
+
|
51
|
+
after :each do
|
52
|
+
@object_spec.destroy
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should works" do
|
56
|
+
object_content = @object_spec.content
|
57
|
+
|
58
|
+
object_content.should == @object_spec_content
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should reload content with force=true" do
|
62
|
+
@object_spec.should_receive(:get_object).and_return(@object_spec_content)
|
63
|
+
|
64
|
+
@object_spec.content(true)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context "#save" do
|
69
|
+
it "should works" do
|
70
|
+
@object_spec.should_receive(:put_object).and_return(true)
|
71
|
+
|
72
|
+
@object_spec.save
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should update object's content when change its content and save" do
|
76
|
+
new_content = 'Hello,sndacs!'
|
77
|
+
|
78
|
+
@object_spec.content = new_content
|
79
|
+
@object_spec.save
|
80
|
+
|
81
|
+
object_content = @object_spec.content(true)
|
82
|
+
object_content.should == new_content
|
83
|
+
|
84
|
+
@object_spec.destroy
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "#destroy" do
|
89
|
+
before :each do
|
90
|
+
@object_spec.save
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should works" do
|
94
|
+
@object_spec.destroy.should == true
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should raise Sndacs::Error::NoSuchKey if object does not exist" do
|
98
|
+
@object_spec.destroy.should == true
|
99
|
+
|
100
|
+
lambda {
|
101
|
+
@object_spec.destroy
|
102
|
+
}.should raise_error(Sndacs::Error::NoSuchKey)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context "#url" do
|
107
|
+
before :each do
|
108
|
+
@object_spec.save
|
109
|
+
end
|
110
|
+
|
111
|
+
after :each do
|
112
|
+
@object_spec.destroy
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should works" do
|
116
|
+
@object_spec.url.should =~ /#{@bucket_spec_name}\/#{@object_spec_name}/
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
context "#cname_url" do
|
121
|
+
before :each do
|
122
|
+
@object_spec.save
|
123
|
+
end
|
124
|
+
|
125
|
+
after :each do
|
126
|
+
@object_spec.destroy
|
127
|
+
end
|
128
|
+
|
129
|
+
xit "should works" do
|
130
|
+
#@object_spec.url.should =~ /#{@bucket_spec_name}\/#{@object_spec_name}/
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
context "#temporary_url" do
|
135
|
+
before :each do
|
136
|
+
@object_spec.save
|
137
|
+
end
|
138
|
+
|
139
|
+
after :each do
|
140
|
+
@object_spec.destroy
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should works" do
|
144
|
+
object_url = @object_spec.temporary_url
|
145
|
+
object_url.should =~ /#{@bucket_spec_name}\/#{@object_spec_name}/
|
146
|
+
|
147
|
+
object_content = Net::HTTP.get(URI(object_url))
|
148
|
+
object_content.should == @object_spec_content
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
context "#exists?" do
|
153
|
+
it "should return true if object exists" do
|
154
|
+
@object_spec.save
|
155
|
+
|
156
|
+
@object_spec.exists?.should == true
|
157
|
+
|
158
|
+
@object_spec.destroy
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should return false if object does not exist" do
|
162
|
+
@object_spec.exists?.should == false
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
data/spec/sndacs/service_spec.rb
CHANGED
@@ -1,25 +1,36 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
require 'sndacs/service'
|
4
|
-
|
5
3
|
module Sndacs
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
4
|
+
|
5
|
+
describe Service do
|
6
|
+
context "#buckets" do
|
7
|
+
context "when buckets is empty" do
|
8
|
+
before :each do
|
9
|
+
@service_empty = Sndacs::Service.new
|
10
|
+
@response_empty = Net::HTTPOK.new('1.1', '200', 'OK')
|
11
|
+
@buckets_empty_body = <<-EOEmptyBuckets
|
12
|
+
<?xml version="1.0" encoding="UTF-8"?>\n<ListAllMyBucketsResult xmlns="http://storage.grandcloud.cn/doc/2006-03-01/"><Owner><ID>123u1odhkhfoadf</ID> <DisplayName>JohnDoe</DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>
|
13
|
+
EOEmptyBuckets
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should works" do
|
17
|
+
@service_empty.should_receive(:service_request).and_return(@response_empty)
|
18
|
+
@response_empty.should_receive(:body).and_return(@buckets_empty_body)
|
19
|
+
|
20
|
+
@service_empty.buckets.should == []
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "when buckets is not empty" do
|
25
|
+
before :each do
|
26
|
+
@service = Sndacs::Service.new
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should works" do
|
30
|
+
@service.buckets.should be_instance_of(Array)
|
31
|
+
end
|
32
|
+
end
|
21
33
|
end
|
22
|
-
end
|
23
34
|
end
|
24
|
-
|
35
|
+
|
25
36
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
require 'rspec'
|
2
|
+
require 'sndacs'
|
2
3
|
|
3
4
|
RSpec.configure do |config|
|
5
|
+
config.include RSpec::Matchers
|
6
|
+
|
4
7
|
config.mock_with :rspec
|
5
8
|
end
|
9
|
+
|
10
|
+
module Sndacs
|
11
|
+
|
12
|
+
# Default configurations, see Sndacs::Config for more info
|
13
|
+
Config.access_key_id = '7EDX20CJ54PA31INPXTD469MR'
|
14
|
+
Config.secret_access_key = 'NzljZWE0MzgtNGQ0Yi00ZGZiLWI0YzMtOTQzODE2MTkzN2Nk'
|
15
|
+
Config.host = 'storage.grandcloud.cn'
|
16
|
+
Config.content_host = 'storage.sdcloud.cn'
|
17
|
+
Config.proxy = nil
|
18
|
+
Config.timeout = 60
|
19
|
+
Config.use_ssl = false
|
20
|
+
Config.chunk_size = 104856
|
21
|
+
Config.debug = false
|
22
|
+
|
23
|
+
end
|
24
|
+
|
metadata
CHANGED
@@ -1,78 +1,93 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sndacs
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- LI Daobing
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-07-12 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: proxies
|
16
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
25
|
+
requirements:
|
19
26
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 23
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 2
|
32
|
+
- 0
|
21
33
|
version: 0.2.0
|
22
34
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: test-unit
|
27
|
-
requirement: &19459020 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '2.0'
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *19459020
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: mocha
|
38
|
-
requirement: &19443300 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ! '>='
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: '0'
|
44
|
-
type: :development
|
45
|
-
prerelease: false
|
46
|
-
version_requirements: *19443300
|
47
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
48
37
|
name: bundler
|
49
|
-
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
50
40
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 23
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 0
|
48
|
+
- 0
|
54
49
|
version: 1.0.0
|
55
50
|
type: :development
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
59
53
|
name: rspec
|
60
|
-
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
61
56
|
none: false
|
62
|
-
requirements:
|
57
|
+
requirements:
|
63
58
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 2
|
63
|
+
- 0
|
64
|
+
version: "2.0"
|
66
65
|
type: :development
|
66
|
+
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: mocha
|
67
69
|
prerelease: false
|
68
|
-
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id004
|
69
81
|
description: sndacs library provides access to SNDA Cloud Storage.
|
70
|
-
email:
|
82
|
+
email:
|
71
83
|
- lidaobing@snda.com
|
72
84
|
executables: []
|
85
|
+
|
73
86
|
extensions: []
|
87
|
+
|
74
88
|
extra_rdoc_files: []
|
75
|
-
|
89
|
+
|
90
|
+
files:
|
76
91
|
- .gitignore
|
77
92
|
- .rspec
|
78
93
|
- Gemfile
|
@@ -83,6 +98,7 @@ files:
|
|
83
98
|
- lib/sndacs.rb
|
84
99
|
- lib/sndacs/bucket.rb
|
85
100
|
- lib/sndacs/buckets_extension.rb
|
101
|
+
- lib/sndacs/config.rb
|
86
102
|
- lib/sndacs/connection.rb
|
87
103
|
- lib/sndacs/exceptions.rb
|
88
104
|
- lib/sndacs/object.rb
|
@@ -93,36 +109,44 @@ files:
|
|
93
109
|
- lib/sndacs/signature.rb
|
94
110
|
- lib/sndacs/version.rb
|
95
111
|
- sndacs.gemspec
|
112
|
+
- spec/sndacs/bucket_spec.rb
|
113
|
+
- spec/sndacs/object_spec.rb
|
96
114
|
- spec/sndacs/service_spec.rb
|
97
115
|
- spec/spec_helper.rb
|
98
|
-
- test/bucket_test.rb
|
99
|
-
- test/connection_test.rb
|
100
|
-
- test/object_test.rb
|
101
|
-
- test/service_test.rb
|
102
|
-
- test/signature_test.rb
|
103
|
-
- test/test_helper.rb
|
104
116
|
homepage: https://github.com/grandcloud/sndacs-ruby
|
105
117
|
licenses: []
|
118
|
+
|
106
119
|
post_install_message:
|
107
120
|
rdoc_options: []
|
108
|
-
|
121
|
+
|
122
|
+
require_paths:
|
109
123
|
- lib
|
110
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
111
125
|
none: false
|
112
|
-
requirements:
|
113
|
-
- -
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
hash: 3
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
version: "0"
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
134
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
hash: 23
|
139
|
+
segments:
|
140
|
+
- 1
|
141
|
+
- 3
|
142
|
+
- 6
|
121
143
|
version: 1.3.6
|
122
144
|
requirements: []
|
145
|
+
|
123
146
|
rubyforge_project:
|
124
147
|
rubygems_version: 1.8.15
|
125
148
|
signing_key:
|
126
149
|
specification_version: 3
|
127
|
-
summary: Library for accessing SNDA Cloud Storage
|
150
|
+
summary: Library for accessing SNDA Cloud Storage buckets and objects
|
128
151
|
test_files: []
|
152
|
+
|