simplydb 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -21
- data/Gemfile +4 -0
- data/README.md +37 -0
- data/Rakefile +10 -50
- data/lib/simplydb.rb +2 -3
- data/lib/simplydb/client.rb +71 -58
- data/lib/simplydb/error.rb +62 -57
- data/lib/simplydb/interface.rb +36 -54
- data/lib/simplydb/server.rb +74 -0
- data/lib/simplydb/version.rb +3 -0
- data/simplydb.gemspec +25 -77
- data/spec/client_spec.rb +17 -5
- data/spec/error_spec.rb +15 -5
- data/spec/fixtures/vcr/create_env.yml +313 -0
- data/spec/fixtures/vcr/delete_domains.yml +119 -0
- data/spec/fixtures/vcr/delete_items.yml +81 -0
- data/spec/fixtures/vcr/delete_items_all.yml +79 -0
- data/spec/fixtures/vcr/destroy_env.yml +197 -0
- data/spec/fixtures/vcr/get_all_items.yml +43 -0
- data/spec/fixtures/vcr/get_domains.yml +41 -0
- data/spec/fixtures/vcr/get_items.yml +42 -0
- data/spec/fixtures/vcr/put_domains.yml +119 -0
- data/spec/fixtures/vcr/put_items.yml +81 -0
- data/spec/fixtures/vcr/show_domains.yml +42 -0
- data/spec/interface_spec.rb +75 -92
- data/spec/server_spec.rb +236 -0
- data/spec/spec_helper.rb +19 -11
- data/spec/support/vcr.rb +7 -0
- metadata +131 -56
- data/.document +0 -5
- data/LICENSE +0 -20
- data/README.rdoc +0 -37
- data/VERSION +0 -1
- data/examples/interface.rb +0 -19
- data/examples/record.rb +0 -45
- data/lib/simplydb/clients/typhoeus.rb +0 -35
- data/lib/simplydb/extensions.rb +0 -21
- data/lib/simplydb/record.rb +0 -2
- data/lib/simplydb/record/base.rb +0 -282
- data/spec/extensions_spec.rb +0 -15
- data/spec/record/base_spec.rb +0 -214
- data/spec/spec.opts +0 -2
data/spec/server_spec.rb
ADDED
@@ -0,0 +1,236 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
require "json"
|
3
|
+
|
4
|
+
SimplyDB::Server.get('/raise_error') do
|
5
|
+
raise SimplyDB::AccessFailure, "With explaination of why..."
|
6
|
+
end
|
7
|
+
|
8
|
+
describe SimplyDB::Server do
|
9
|
+
include Rack::Test::Methods
|
10
|
+
|
11
|
+
let(:default_domains) {["activity", "location", "notification", "person"]}
|
12
|
+
|
13
|
+
before do
|
14
|
+
Timecop.freeze Time.local(2011, 4, 13, 1, 40)
|
15
|
+
end
|
16
|
+
|
17
|
+
before(:all) do
|
18
|
+
Timecop.freeze Time.local(2011, 4, 13, 1, 40)
|
19
|
+
|
20
|
+
VCR.use_cassette("create_env", :record => :none) do
|
21
|
+
|
22
|
+
default_domains.each do |domain|
|
23
|
+
interface.create_domain(domain)
|
24
|
+
end
|
25
|
+
interface.put_attributes("activity", "testID", {"zip"=>"90210", "address"=>"123 Main St", "age"=>"27", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}, {}, true)
|
26
|
+
interface.put_attributes("activity", "updateID", {"zip"=>"90210", "address"=>"123 Main St", "age"=>"27", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}, {}, true)
|
27
|
+
interface.put_attributes("activity", "delete_partialID", {"zip"=>"90210", "address"=>"123 Main St", "age"=>"27", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}, {}, true)
|
28
|
+
interface.put_attributes("activity", "delete_allID", {"zip"=>"90210", "address"=>"123 Main St", "age"=>"27", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}, {}, true)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
after(:all) do
|
33
|
+
Timecop.freeze Time.local(2011, 4, 13, 1, 40)
|
34
|
+
VCR.use_cassette("destroy_env", :record => :none) do
|
35
|
+
default_domains.each do |domain|
|
36
|
+
interface.delete_domain(domain)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
Timecop.return
|
40
|
+
end
|
41
|
+
|
42
|
+
def app
|
43
|
+
SimplyDB::Server.set :aws_secret_key, ENV['AWS_SECRET_KEY'] || 'thhyyt9ZU3bo0Q/ZOt9C0dD8MZzJS8AUvrE9/B82'
|
44
|
+
SimplyDB::Server.set :aws_access_key, ENV['AWS_ACCESS_KEY'] || '1VRWH6Y8EA9RKV7NHSR2'
|
45
|
+
SimplyDB::Server.set :environment, :test
|
46
|
+
SimplyDB::Server
|
47
|
+
end
|
48
|
+
|
49
|
+
def interface
|
50
|
+
SimplyDB::Interface.new(
|
51
|
+
:secret_key => ENV['AWS_SECRET_KEY'] || 'thhyyt9ZU3bo0Q/ZOt9C0dD8MZzJS8AUvrE9/B82',
|
52
|
+
:access_key => ENV['AWS_ACCESS_KEY'] || '1VRWH6Y8EA9RKV7NHSR2'
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
shared_examples_for "successful JSON response" do
|
57
|
+
it "returns successful" do
|
58
|
+
last_response.status.should == 200
|
59
|
+
end
|
60
|
+
|
61
|
+
it "sets the content type for JSON" do
|
62
|
+
last_response.content_type.should == "application/json"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe "domain operations" do
|
67
|
+
|
68
|
+
describe "GET#domains" do
|
69
|
+
use_vcr_cassette "get_domains", :record => :none
|
70
|
+
|
71
|
+
before do
|
72
|
+
get '/domains'
|
73
|
+
end
|
74
|
+
|
75
|
+
it_behaves_like "successful JSON response"
|
76
|
+
|
77
|
+
it "returns list of domains" do
|
78
|
+
JSON.parse(last_response.body).should == ["activity", "location", "notification", "person"]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "PUT#domains" do
|
83
|
+
use_vcr_cassette "put_domains", :record => :none
|
84
|
+
|
85
|
+
before do
|
86
|
+
put '/domains', {:name => 'information'}
|
87
|
+
end
|
88
|
+
|
89
|
+
after do
|
90
|
+
interface.delete_domain("information")
|
91
|
+
end
|
92
|
+
|
93
|
+
it_behaves_like "successful JSON response"
|
94
|
+
|
95
|
+
it "returns a list of current domains" do
|
96
|
+
JSON.parse(last_response.body).should == ["activity", "information", "location", "notification", "person"]
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe "DELETE#domains" do
|
101
|
+
use_vcr_cassette "delete_domains", :record => :none
|
102
|
+
|
103
|
+
before do
|
104
|
+
interface.create_domain("information")
|
105
|
+
delete '/domains', {:name => 'information'}
|
106
|
+
end
|
107
|
+
|
108
|
+
it_behaves_like "successful JSON response"
|
109
|
+
|
110
|
+
it "returns a list of current domains" do
|
111
|
+
JSON.parse(last_response.body).should == ["activity", "location", "notification", "person"]
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
describe "GET#domains by name" do
|
116
|
+
use_vcr_cassette "show_domains", :record => :none
|
117
|
+
|
118
|
+
before do
|
119
|
+
get '/domains/activity'
|
120
|
+
end
|
121
|
+
|
122
|
+
it_behaves_like "successful JSON response"
|
123
|
+
|
124
|
+
it "returns the meta data" do
|
125
|
+
attributes = JSON.parse(last_response.body)
|
126
|
+
attributes.delete("Timestamp")
|
127
|
+
attributes.should == {"ItemCount"=>"4", "ItemNamesSizeBytes"=>"42", "AttributeNameCount"=>"6", "AttributeNamesSizeBytes"=>"26", "AttributeValueCount"=>"24", "AttributeValuesSizeBytes"=>"172"}
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
describe "item operations" do
|
133
|
+
describe "GET#items by id" do
|
134
|
+
use_vcr_cassette "get_items", :record => :none
|
135
|
+
|
136
|
+
before do
|
137
|
+
get '/domains/activity/items/testID'
|
138
|
+
end
|
139
|
+
|
140
|
+
it_behaves_like "successful JSON response"
|
141
|
+
|
142
|
+
it "returns list of the current attributes" do
|
143
|
+
JSON.parse(last_response.body).should == {"zip"=>"90210", "address"=>"123 Main St", "age"=>"27", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
describe "PUT#items by id" do
|
148
|
+
use_vcr_cassette "put_items", :record => :none
|
149
|
+
|
150
|
+
before do
|
151
|
+
put '/domains/activity/items/updateID', "item" => {"zip" => "12345", "age" => "28"}
|
152
|
+
end
|
153
|
+
|
154
|
+
it_behaves_like "successful JSON response"
|
155
|
+
|
156
|
+
it "returns an empty response" do
|
157
|
+
last_response.body.should == ""
|
158
|
+
end
|
159
|
+
|
160
|
+
it "updates the attributes" do
|
161
|
+
interface.get_attributes("activity", "updateID").should == {"zip"=>"12345", "address"=>"123 Main St", "age"=>"28", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
describe "GET#items" do
|
166
|
+
use_vcr_cassette "get_all_items", :record => :none
|
167
|
+
before do
|
168
|
+
get '/domains/activity/items'
|
169
|
+
end
|
170
|
+
|
171
|
+
it_behaves_like "successful JSON response"
|
172
|
+
|
173
|
+
it "returns a hash of item id to attributes" do
|
174
|
+
JSON.parse(last_response.body).should == [
|
175
|
+
{"testID"=>{"zip"=>"90210", "address"=>"123 Main St", "name"=>"John Smith", "age"=>"27", "state"=>"CA", "city"=>"San Francisco"}},
|
176
|
+
{"updateID"=>{"zip"=>"12345", "address"=>"123 Main St", "name"=>"John Smith", "age"=>"28", "state"=>"CA", "city"=>"San Francisco"}},
|
177
|
+
{"delete_partialID"=>{"zip"=>"90210", "address"=>"123 Main St", "name"=>"John Smith", "age"=>"27", "state"=>"CA", "city"=>"San Francisco"}},
|
178
|
+
{"delete_allID"=>{"zip"=>"90210", "address"=>"123 Main St", "name"=>"John Smith", "age"=>"27", "state"=>"CA", "city"=>"San Francisco"}}
|
179
|
+
]
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
describe "DELETE#items by id" do
|
184
|
+
context "delete certain attributes" do
|
185
|
+
use_vcr_cassette "delete_items", :record => :none
|
186
|
+
|
187
|
+
before do
|
188
|
+
delete '/domains/activity/items/delete_partialID', "item" => {"zip" => "90210", "age" => "27"}
|
189
|
+
end
|
190
|
+
|
191
|
+
it_behaves_like "successful JSON response"
|
192
|
+
|
193
|
+
it "returns an empty response" do
|
194
|
+
last_response.body.should == ""
|
195
|
+
end
|
196
|
+
|
197
|
+
it "updates the attributes" do
|
198
|
+
interface.get_attributes("activity", "delete_partialID").should == {"address"=>"123 Main St", "name"=>"John Smith", "state"=>"CA", "city"=>"San Francisco"}
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
context "deletes the entire item" do
|
203
|
+
use_vcr_cassette "delete_items_all", :record => :none
|
204
|
+
|
205
|
+
before do
|
206
|
+
delete '/domains/activity/items/delete_allID'
|
207
|
+
end
|
208
|
+
|
209
|
+
it_behaves_like "successful JSON response"
|
210
|
+
|
211
|
+
it "returns an empty response" do
|
212
|
+
last_response.body.should == ""
|
213
|
+
end
|
214
|
+
|
215
|
+
it "updates the attributes" do
|
216
|
+
interface.get_attributes("activity", "delete_allID").should == {}
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
describe "when handling errors from SimplyDB::Error" do
|
222
|
+
before do
|
223
|
+
get '/raise_error'
|
224
|
+
end
|
225
|
+
|
226
|
+
it "should proxy the HTTP error code associated with the SimplyDB::Error" do
|
227
|
+
last_response.status.should == SimplyDB::AccessFailure.http_status_code
|
228
|
+
end
|
229
|
+
|
230
|
+
it "should set a header with the supplied error message" do
|
231
|
+
last_response.headers['AMZ-ERROR-TYPE'].should == "AccessFailure"
|
232
|
+
last_response.headers['AMZ-ERROR-MESSAGE'].should == "With explaination of why..."
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,24 +1,32 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
-
require 'simplydb'
|
4
|
-
require 'spec'
|
5
|
-
require 'spec/autorun'
|
6
3
|
|
7
4
|
require 'rubygems'
|
5
|
+
require 'rack/test'
|
6
|
+
require 'rspec'
|
7
|
+
require 'webmock/rspec'
|
8
|
+
require 'vcr'
|
8
9
|
require 'timecop'
|
10
|
+
require 'simplydb'
|
9
11
|
|
10
|
-
|
12
|
+
Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each {|f| require f}
|
13
|
+
|
14
|
+
Rspec.configure do |config|
|
11
15
|
def access_key
|
12
|
-
|
16
|
+
'12345'
|
13
17
|
end
|
14
18
|
|
15
19
|
def secret_key
|
16
|
-
|
20
|
+
'67890'
|
17
21
|
end
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
|
23
|
+
config.extend VCR::RSpec::Macros
|
24
|
+
|
25
|
+
config.before do
|
26
|
+
Timecop.freeze Time.local(2011,4,11, 23, 9)
|
27
|
+
end
|
28
|
+
|
29
|
+
config.after do
|
30
|
+
Timecop.return
|
23
31
|
end
|
24
32
|
end
|
data/spec/support/vcr.rb
ADDED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simplydb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- JT Archie
|
@@ -15,43 +15,39 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-04-14 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
22
|
+
name: sinatra
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 3
|
30
30
|
segments:
|
31
|
-
-
|
32
|
-
|
33
|
-
|
34
|
-
version: 1.2.9
|
35
|
-
type: :development
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
36
34
|
version_requirements: *id001
|
37
35
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
36
|
+
name: nokogiri
|
39
37
|
prerelease: false
|
40
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
40
|
requirements:
|
43
41
|
- - ">="
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
43
|
+
hash: 3
|
46
44
|
segments:
|
47
45
|
- 0
|
48
|
-
|
49
|
-
- 27
|
50
|
-
version: 0.1.27
|
46
|
+
version: "0"
|
51
47
|
type: :runtime
|
52
48
|
version_requirements: *id002
|
53
49
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
50
|
+
name: rest-client
|
55
51
|
prerelease: false
|
56
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
53
|
none: false
|
@@ -60,69 +56,139 @@ dependencies:
|
|
60
56
|
- !ruby/object:Gem::Version
|
61
57
|
hash: 3
|
62
58
|
segments:
|
63
|
-
-
|
64
|
-
|
65
|
-
- 2
|
66
|
-
version: 1.4.2
|
59
|
+
- 0
|
60
|
+
version: "0"
|
67
61
|
type: :runtime
|
68
62
|
version_requirements: *id003
|
69
63
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
64
|
+
name: json
|
71
65
|
prerelease: false
|
72
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
67
|
none: false
|
74
68
|
requirements:
|
75
69
|
- - ">="
|
76
70
|
- !ruby/object:Gem::Version
|
77
|
-
hash:
|
71
|
+
hash: 3
|
78
72
|
segments:
|
79
|
-
-
|
80
|
-
|
81
|
-
- 1
|
82
|
-
version: 2.1.1
|
73
|
+
- 0
|
74
|
+
version: "0"
|
83
75
|
type: :runtime
|
84
76
|
version_requirements: *id004
|
85
|
-
|
86
|
-
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: rspec
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
version: "0"
|
89
|
+
type: :development
|
90
|
+
version_requirements: *id005
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: rack-test
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
103
|
+
type: :development
|
104
|
+
version_requirements: *id006
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: webmock
|
107
|
+
prerelease: false
|
108
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
type: :development
|
118
|
+
version_requirements: *id007
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: vcr
|
121
|
+
prerelease: false
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
version: "0"
|
131
|
+
type: :development
|
132
|
+
version_requirements: *id008
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: timecop
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
142
|
+
segments:
|
143
|
+
- 0
|
144
|
+
version: "0"
|
145
|
+
type: :development
|
146
|
+
version_requirements: *id009
|
147
|
+
description: Simple interface for SimpleDB.
|
148
|
+
email:
|
149
|
+
- jtarchie@gmail.com
|
87
150
|
executables: []
|
88
151
|
|
89
152
|
extensions: []
|
90
153
|
|
91
|
-
extra_rdoc_files:
|
92
|
-
|
93
|
-
- README.rdoc
|
154
|
+
extra_rdoc_files: []
|
155
|
+
|
94
156
|
files:
|
95
|
-
- .document
|
96
157
|
- .gitignore
|
97
|
-
-
|
98
|
-
- README.
|
158
|
+
- Gemfile
|
159
|
+
- README.md
|
99
160
|
- Rakefile
|
100
|
-
- VERSION
|
101
|
-
- examples/interface.rb
|
102
|
-
- examples/record.rb
|
103
161
|
- lib/simplydb.rb
|
104
162
|
- lib/simplydb/client.rb
|
105
|
-
- lib/simplydb/clients/typhoeus.rb
|
106
163
|
- lib/simplydb/error.rb
|
107
|
-
- lib/simplydb/extensions.rb
|
108
164
|
- lib/simplydb/interface.rb
|
109
|
-
- lib/simplydb/
|
110
|
-
- lib/simplydb/
|
165
|
+
- lib/simplydb/server.rb
|
166
|
+
- lib/simplydb/version.rb
|
111
167
|
- simplydb.gemspec
|
112
168
|
- spec/client_spec.rb
|
113
169
|
- spec/error_spec.rb
|
114
|
-
- spec/
|
170
|
+
- spec/fixtures/vcr/create_env.yml
|
171
|
+
- spec/fixtures/vcr/delete_domains.yml
|
172
|
+
- spec/fixtures/vcr/delete_items.yml
|
173
|
+
- spec/fixtures/vcr/delete_items_all.yml
|
174
|
+
- spec/fixtures/vcr/destroy_env.yml
|
175
|
+
- spec/fixtures/vcr/get_all_items.yml
|
176
|
+
- spec/fixtures/vcr/get_domains.yml
|
177
|
+
- spec/fixtures/vcr/get_items.yml
|
178
|
+
- spec/fixtures/vcr/put_domains.yml
|
179
|
+
- spec/fixtures/vcr/put_items.yml
|
180
|
+
- spec/fixtures/vcr/show_domains.yml
|
115
181
|
- spec/interface_spec.rb
|
116
|
-
- spec/
|
117
|
-
- spec/spec.opts
|
182
|
+
- spec/server_spec.rb
|
118
183
|
- spec/spec_helper.rb
|
184
|
+
- spec/support/vcr.rb
|
119
185
|
has_rdoc: true
|
120
|
-
homepage: http://
|
186
|
+
homepage: http://rubygems.org/gems/simplydb
|
121
187
|
licenses: []
|
122
188
|
|
123
189
|
post_install_message:
|
124
|
-
rdoc_options:
|
125
|
-
|
190
|
+
rdoc_options: []
|
191
|
+
|
126
192
|
require_paths:
|
127
193
|
- lib
|
128
194
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -145,17 +211,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
211
|
version: "0"
|
146
212
|
requirements: []
|
147
213
|
|
148
|
-
rubyforge_project:
|
149
|
-
rubygems_version: 1.
|
214
|
+
rubyforge_project: simplydb
|
215
|
+
rubygems_version: 1.4.2
|
150
216
|
signing_key:
|
151
217
|
specification_version: 3
|
152
|
-
summary:
|
218
|
+
summary: Simple interface for SimpleDB.
|
153
219
|
test_files:
|
154
220
|
- spec/client_spec.rb
|
155
221
|
- spec/error_spec.rb
|
156
|
-
- spec/
|
222
|
+
- spec/fixtures/vcr/create_env.yml
|
223
|
+
- spec/fixtures/vcr/delete_domains.yml
|
224
|
+
- spec/fixtures/vcr/delete_items.yml
|
225
|
+
- spec/fixtures/vcr/delete_items_all.yml
|
226
|
+
- spec/fixtures/vcr/destroy_env.yml
|
227
|
+
- spec/fixtures/vcr/get_all_items.yml
|
228
|
+
- spec/fixtures/vcr/get_domains.yml
|
229
|
+
- spec/fixtures/vcr/get_items.yml
|
230
|
+
- spec/fixtures/vcr/put_domains.yml
|
231
|
+
- spec/fixtures/vcr/put_items.yml
|
232
|
+
- spec/fixtures/vcr/show_domains.yml
|
157
233
|
- spec/interface_spec.rb
|
158
|
-
- spec/
|
234
|
+
- spec/server_spec.rb
|
159
235
|
- spec/spec_helper.rb
|
160
|
-
-
|
161
|
-
- examples/record.rb
|
236
|
+
- spec/support/vcr.rb
|