simplydb 0.0.2 → 0.0.3
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/.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
|