raws 0.0.7
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 +0 -0
- data/COPYING +18 -0
- data/README.rdoc +108 -0
- data/Rakefile +33 -0
- data/VERSION +1 -0
- data/lib/raws/s3/adapter.rb +123 -0
- data/lib/raws/s3.rb +21 -0
- data/lib/raws/sdb/adapter.rb +139 -0
- data/lib/raws/sdb/model.rb +121 -0
- data/lib/raws/sdb/select.rb +78 -0
- data/lib/raws/sdb.rb +119 -0
- data/lib/raws/sqs/adapter.rb +148 -0
- data/lib/raws/sqs.rb +158 -0
- data/lib/raws.rb +149 -0
- data/spec/raws/s3_spec.rb +28 -0
- data/spec/raws/sdb/model_spec.rb +43 -0
- data/spec/raws/sdb_spec.rb +364 -0
- data/spec/raws/sqs_spec.rb +168 -0
- data/spec/raws_spec.rb +75 -0
- metadata +101 -0
@@ -0,0 +1,364 @@
|
|
1
|
+
require 'spec/spec_config'
|
2
|
+
|
3
|
+
describe RAWS::SDB do
|
4
|
+
before :all do
|
5
|
+
RAWS::SDB.create_domain(RAWS_SDB_DOMAIN)
|
6
|
+
puts '[sleep 60 secs]'
|
7
|
+
sleep 60
|
8
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].put(
|
9
|
+
'100', 'a' => 10
|
10
|
+
)
|
11
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].put(
|
12
|
+
'200', 'a' => [10, 20], 'b' => 20
|
13
|
+
)
|
14
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].put(
|
15
|
+
'300', 'a' => [10, 20, 30], 'b' => 20, 'c' => 30
|
16
|
+
)
|
17
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].batch_put(
|
18
|
+
"400" => {"a"=>["10", "20", "30", "40"]},
|
19
|
+
"500" => {"a"=>["10", "20", "30", "40", "50"]},
|
20
|
+
"600" => {"a"=>["10", "20", "30", "40", "50", "60"]}
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
after :all do
|
25
|
+
RAWS::SDB.delete_domain(RAWS_SDB_DOMAIN)
|
26
|
+
puts '[sleep 60 secs]'
|
27
|
+
sleep 60
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'class' do
|
31
|
+
it 'methods' do
|
32
|
+
%w'
|
33
|
+
create_domain
|
34
|
+
delete_domain
|
35
|
+
metadata
|
36
|
+
list
|
37
|
+
each
|
38
|
+
[]
|
39
|
+
select
|
40
|
+
all
|
41
|
+
get
|
42
|
+
put
|
43
|
+
batch_put
|
44
|
+
delete
|
45
|
+
'.each do |val|
|
46
|
+
RAWS::SDB.should respond_to val.to_sym
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'create_domain' do
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'delete_domain' do
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'metadata' do
|
57
|
+
data = RAWS::SDB.metadata(RAWS_SDB_DOMAIN)
|
58
|
+
data.should have_key('Timestamp')
|
59
|
+
data.should have_key('ItemCount')
|
60
|
+
data.should have_key('AttributeValueCount')
|
61
|
+
data.should have_key('AttributeNameCount')
|
62
|
+
data.should have_key('ItemNamesSizeBytes')
|
63
|
+
data.should have_key('AttributeValuesSizeBytes')
|
64
|
+
data.should have_key('AttributeNamesSizeBytes')
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'list' do
|
68
|
+
data = RAWS::SDB.list
|
69
|
+
data.should have_key('DomainName')
|
70
|
+
|
71
|
+
data = RAWS::SDB.list(nil, 1)
|
72
|
+
data['DomainName'].should be_kind_of(Array)
|
73
|
+
data['DomainName'].size.should == 1
|
74
|
+
data.should have_key('NextToken')
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'each' do
|
78
|
+
RAWS::SDB.each do |domain|
|
79
|
+
domain.should be_kind_of(RAWS::SDB)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
it '[]' do
|
84
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].should be_kind_of(RAWS::SDB)
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'select' do
|
88
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].select do |val|
|
89
|
+
val.first.should be_kind_of(String)
|
90
|
+
val.last.should be_kind_of(Hash)
|
91
|
+
end
|
92
|
+
|
93
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].select.where('b = ?', 20) do |val|
|
94
|
+
val.first.should be_kind_of(String)
|
95
|
+
val.last.should be_kind_of(Hash)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'all' do
|
100
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].all do |val|
|
101
|
+
val.first.should be_kind_of(String)
|
102
|
+
val.last.should be_kind_of(Hash)
|
103
|
+
end
|
104
|
+
|
105
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].all.filter('b = ?', 20) do |val|
|
106
|
+
val.first.should be_kind_of(String)
|
107
|
+
val.last.should be_kind_of(Hash)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'get' do
|
112
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].get('000').should be_nil
|
113
|
+
|
114
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('100')
|
115
|
+
data.should == {'a' => '10'}
|
116
|
+
|
117
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('200')
|
118
|
+
data.should == {'a' => ['10', '20'], 'b' => '20'}
|
119
|
+
|
120
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('300')
|
121
|
+
data.should == {'a' => ['10', '20', '30'], 'b' => '20', 'c' => '30'}
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'put, get & delete' do
|
125
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].put('10', 'a' => [1])
|
126
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].put('10', 'a' => 2)
|
127
|
+
|
128
|
+
5.times do
|
129
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('10')
|
130
|
+
if data == {'a' => ['1', '2']}
|
131
|
+
data.should == {'a' => ['1', '2']}
|
132
|
+
break;
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].delete('10')
|
137
|
+
|
138
|
+
5.times do
|
139
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('10')
|
140
|
+
unless data
|
141
|
+
data.should be_nil
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'batch_put & delete' do
|
147
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].batch_put(
|
148
|
+
"1" => {"a"=>["10"]},
|
149
|
+
"2" => {"a"=>["20"]},
|
150
|
+
"3" => {"a"=>["30"]}
|
151
|
+
)
|
152
|
+
|
153
|
+
5.times do
|
154
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('1')
|
155
|
+
if data
|
156
|
+
data.should == {'a' => '10'}
|
157
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].delete('1')
|
158
|
+
break
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
5.times do
|
163
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('2')
|
164
|
+
if data
|
165
|
+
data.should == {'a' => '20'}
|
166
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].delete('2')
|
167
|
+
break
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
5.times do
|
172
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('3')
|
173
|
+
if data
|
174
|
+
data.should == {'a' => '30'}
|
175
|
+
RAWS::SDB[RAWS_SDB_DOMAIN].delete('3')
|
176
|
+
break
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
5.times do
|
181
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('1')
|
182
|
+
unless data
|
183
|
+
data.should be_nil
|
184
|
+
break
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
5.times do
|
189
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('2')
|
190
|
+
unless data
|
191
|
+
data.should be_nil
|
192
|
+
break
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
5.times do
|
197
|
+
data = RAWS::SDB[RAWS_SDB_DOMAIN].get('3')
|
198
|
+
unless data
|
199
|
+
data.should be_nil
|
200
|
+
break
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
describe 'object' do
|
207
|
+
before do
|
208
|
+
@sdb = RAWS::SDB[RAWS_SDB_DOMAIN]
|
209
|
+
end
|
210
|
+
|
211
|
+
it 'method' do
|
212
|
+
%w'
|
213
|
+
create_domain
|
214
|
+
delete_domain
|
215
|
+
metadata
|
216
|
+
select
|
217
|
+
all
|
218
|
+
get
|
219
|
+
put
|
220
|
+
batch_put
|
221
|
+
delete
|
222
|
+
'.each do |val|
|
223
|
+
@sdb.should respond_to val.to_sym
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
it 'create_domain' do
|
228
|
+
#@sdb.create_domain
|
229
|
+
end
|
230
|
+
|
231
|
+
it 'delete_domain' do
|
232
|
+
#@sdb.delete_domain
|
233
|
+
end
|
234
|
+
|
235
|
+
it 'metadata' do
|
236
|
+
data = @sdb.metadata
|
237
|
+
data.should have_key('Timestamp')
|
238
|
+
data.should have_key('ItemCount')
|
239
|
+
data.should have_key('AttributeValueCount')
|
240
|
+
data.should have_key('AttributeNameCount')
|
241
|
+
data.should have_key('ItemNamesSizeBytes')
|
242
|
+
data.should have_key('AttributeValuesSizeBytes')
|
243
|
+
data.should have_key('AttributeNamesSizeBytes')
|
244
|
+
end
|
245
|
+
|
246
|
+
it 'select' do
|
247
|
+
@sdb.select do |val|
|
248
|
+
val.first.should be_kind_of(String)
|
249
|
+
val.last.should be_kind_of(Hash)
|
250
|
+
end
|
251
|
+
|
252
|
+
@sdb.select.where('b = ?', 20) do |val|
|
253
|
+
val.first.should be_kind_of(String)
|
254
|
+
val.last.should be_kind_of(Hash)
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
it 'all' do
|
259
|
+
@sdb.all do |val|
|
260
|
+
val.first.should be_kind_of(String)
|
261
|
+
val.last.should be_kind_of(Hash)
|
262
|
+
end
|
263
|
+
|
264
|
+
@sdb.all.filter('b = ?', 20) do |val|
|
265
|
+
val.first.should be_kind_of(String)
|
266
|
+
val.last.should be_kind_of(Hash)
|
267
|
+
end
|
268
|
+
end
|
269
|
+
|
270
|
+
it 'get' do
|
271
|
+
@sdb.get('000').should be_nil
|
272
|
+
|
273
|
+
data = @sdb.get('100')
|
274
|
+
data.should == {'a' => '10'}
|
275
|
+
|
276
|
+
data = @sdb.get('200')
|
277
|
+
data.should == {'a' => ['10', '20'], 'b' => '20'}
|
278
|
+
|
279
|
+
data = @sdb.get('300')
|
280
|
+
data.should == {'a' => ['10', '20', '30'], 'b' => '20', 'c' => '30'}
|
281
|
+
end
|
282
|
+
|
283
|
+
it 'put, get & delete' do
|
284
|
+
@sdb.put('10', 'a' => 1)
|
285
|
+
|
286
|
+
5.times do
|
287
|
+
data = @sdb.get('10')
|
288
|
+
if data
|
289
|
+
data.should == {'a' => '1'}
|
290
|
+
break
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
@sdb.delete('10')
|
295
|
+
|
296
|
+
5.times do
|
297
|
+
data = @sdb.get('10')
|
298
|
+
unless data
|
299
|
+
data.should be_nil
|
300
|
+
break
|
301
|
+
end
|
302
|
+
end
|
303
|
+
end
|
304
|
+
|
305
|
+
it 'batch_put' do
|
306
|
+
@sdb.batch_put(
|
307
|
+
"1" => {"a"=>["10"]},
|
308
|
+
"2" => {"a"=>["20"]},
|
309
|
+
"3" => {"a"=>["30"]}
|
310
|
+
)
|
311
|
+
|
312
|
+
5.times do
|
313
|
+
data = @sdb.get('1')
|
314
|
+
if data
|
315
|
+
data.should == {'a' => '10'}
|
316
|
+
@sdb.delete('1')
|
317
|
+
break
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
5.times do
|
322
|
+
data = @sdb.get('2')
|
323
|
+
if data
|
324
|
+
data.should == {'a' => '20'}
|
325
|
+
@sdb.delete('2')
|
326
|
+
break
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
5.times do
|
331
|
+
data = @sdb.get('3')
|
332
|
+
if data
|
333
|
+
data.should == {'a' => '30'}
|
334
|
+
@sdb.delete('3')
|
335
|
+
break
|
336
|
+
end
|
337
|
+
end
|
338
|
+
|
339
|
+
5.times do
|
340
|
+
data = @sdb.get('1')
|
341
|
+
unless data
|
342
|
+
data.should be_nil
|
343
|
+
break
|
344
|
+
end
|
345
|
+
end
|
346
|
+
|
347
|
+
5.times do
|
348
|
+
data = @sdb.get('2')
|
349
|
+
unless data
|
350
|
+
data.should be_nil
|
351
|
+
break
|
352
|
+
end
|
353
|
+
end
|
354
|
+
|
355
|
+
5.times do
|
356
|
+
data = @sdb.get('3')
|
357
|
+
unless data
|
358
|
+
data.should be_nil
|
359
|
+
break
|
360
|
+
end
|
361
|
+
end
|
362
|
+
end
|
363
|
+
end
|
364
|
+
end
|
@@ -0,0 +1,168 @@
|
|
1
|
+
require 'spec/spec_config'
|
2
|
+
|
3
|
+
describe RAWS::SQS do
|
4
|
+
before :all do
|
5
|
+
RAWS::SQS.create_queue(RAWS_SQS_QUEUE)
|
6
|
+
puts '[waiting 60 secs]'
|
7
|
+
sleep 60
|
8
|
+
end
|
9
|
+
|
10
|
+
after :all do
|
11
|
+
RAWS::SQS[RAWS_SQS_QUEUE].delete_queue
|
12
|
+
puts '[waiting 60 secs]'
|
13
|
+
sleep 60
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'class' do
|
17
|
+
it 'methods' do
|
18
|
+
%w'
|
19
|
+
queue_url
|
20
|
+
create_queue
|
21
|
+
delete_queue
|
22
|
+
list
|
23
|
+
each
|
24
|
+
[]
|
25
|
+
get_attrs
|
26
|
+
set_attrs
|
27
|
+
send
|
28
|
+
receive
|
29
|
+
'.each do |val|
|
30
|
+
RAWS::SQS.should respond_to val.to_sym
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'list' do
|
35
|
+
RAWS::SQS.list.each do |queue|
|
36
|
+
queue.should be_kind_of RAWS::SQS
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'each' do
|
41
|
+
RAWS::SQS.each do |queue|
|
42
|
+
queue.should be_kind_of RAWS::SQS
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it '[]' do
|
47
|
+
RAWS::SQS[RAWS_SQS_QUEUE].should be_kind_of RAWS::SQS
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe 'object' do
|
52
|
+
before do
|
53
|
+
@queue = RAWS::SQS[RAWS_SQS_QUEUE]
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'methods' do
|
57
|
+
%w'
|
58
|
+
delete_queue
|
59
|
+
get_attrs
|
60
|
+
set_attrs
|
61
|
+
send
|
62
|
+
receive
|
63
|
+
delete_message
|
64
|
+
add_permission
|
65
|
+
remove_permission
|
66
|
+
'.each do |val|
|
67
|
+
@queue.should respond_to val.to_sym
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'get_attrs' do
|
72
|
+
attrs = @queue.get_attrs
|
73
|
+
%w'
|
74
|
+
ApproximateNumberOfMessages
|
75
|
+
LastModifiedTimestamp
|
76
|
+
CreatedTimestamp
|
77
|
+
VisibilityTimeout
|
78
|
+
'.each do |val|
|
79
|
+
attrs.should have_key val
|
80
|
+
end
|
81
|
+
|
82
|
+
attrs = @queue.get_attrs 'VisibilityTimeout'
|
83
|
+
attrs.should have_key 'VisibilityTimeout'
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'set_attrs' do
|
87
|
+
@queue.set_attrs 'VisibilityTimeout' => 60
|
88
|
+
5.times do
|
89
|
+
attrs = @queue.get_attrs 'VisibilityTimeout'
|
90
|
+
if attrs['VisibilityTimeout'] == 60
|
91
|
+
attrs['VisibilityTimeout'].should == 60
|
92
|
+
break
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
@queue.set_attrs 'VisibilityTimeout' => 30
|
97
|
+
5.times do
|
98
|
+
attrs = @queue.get_attrs 'VisibilityTimeout'
|
99
|
+
if attrs['VisibilityTimeout'] == 30
|
100
|
+
attrs['VisibilityTimeout'].should == 30
|
101
|
+
break
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'send, receive & delete' do
|
107
|
+
5.times do |i|
|
108
|
+
@queue.send(i)
|
109
|
+
end
|
110
|
+
|
111
|
+
i = 1
|
112
|
+
while i <= 5
|
113
|
+
@queue.receive.each do |msg|
|
114
|
+
msg.should be_kind_of RAWS::SQS::Message
|
115
|
+
msg.delete
|
116
|
+
i += 1
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'change_message_visibility' do
|
122
|
+
=begin
|
123
|
+
5.times do |i|
|
124
|
+
p i
|
125
|
+
@queue.receive.each do |msg|
|
126
|
+
msg.delete
|
127
|
+
end
|
128
|
+
sleep 5
|
129
|
+
end
|
130
|
+
=end
|
131
|
+
@queue.send('change message visibility')
|
132
|
+
|
133
|
+
msg_id, time = nil, nil
|
134
|
+
loop do
|
135
|
+
if msg = @queue.receive.first
|
136
|
+
#p Time.now
|
137
|
+
#p msg
|
138
|
+
unless time
|
139
|
+
msg_id = msg.data['MessageId']
|
140
|
+
time = Time.now.to_i
|
141
|
+
else
|
142
|
+
if msg_id == msg.data['MessageId']
|
143
|
+
(time + 10).should <= Time.now.to_i
|
144
|
+
msg.delete
|
145
|
+
break
|
146
|
+
end
|
147
|
+
end
|
148
|
+
msg.visibility = 10
|
149
|
+
end
|
150
|
+
#p 'sleep'
|
151
|
+
sleep 5
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'add_permission'
|
156
|
+
it 'remove_permission'
|
157
|
+
|
158
|
+
=begin
|
159
|
+
it 'add_permission' do
|
160
|
+
@queue.add_permission('p1', RAWS.aws_access_key_id => ['SendMessage'])
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'remove_permission' do
|
164
|
+
@queue.remove_permission('p1')
|
165
|
+
end
|
166
|
+
=end
|
167
|
+
end
|
168
|
+
end
|
data/spec/raws_spec.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'spec/spec_config'
|
2
|
+
|
3
|
+
describe RAWS do
|
4
|
+
describe 'class' do
|
5
|
+
it 'methods' do
|
6
|
+
%w'
|
7
|
+
aws_access_key_id
|
8
|
+
aws_secret_access_key
|
9
|
+
escape
|
10
|
+
sign
|
11
|
+
fetch
|
12
|
+
'.each do |val|
|
13
|
+
RAWS.should respond_to val.to_sym
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'parse は XML を Array と Hash に変換する' do
|
18
|
+
xml =<<-END
|
19
|
+
<?xml version="1.0"?>
|
20
|
+
<GetQueueAttributesResponse xmlns="http://queue.amazonaws.com/doc/2009-02-01/"><GetQueueAttributesResult><Attribute><Name>VisibilityTimeout</Name><Value>60</Value></Attribute></GetQueueAttributesResult><ResponseMetadata><RequestId>6f950716-2579-4c55-92e8-ff0cdec28e6d</RequestId></ResponseMetadata></GetQueueAttributesResponse>
|
21
|
+
END
|
22
|
+
data = RAWS.parse(
|
23
|
+
Nokogiri::XML.parse(xml)
|
24
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
25
|
+
data.should be_kind_of(Hash)
|
26
|
+
|
27
|
+
data = RAWS.parse(
|
28
|
+
Nokogiri::XML.parse(xml),
|
29
|
+
:multiple => ['Attribute']
|
30
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
31
|
+
data.should be_kind_of(Array)
|
32
|
+
|
33
|
+
data = RAWS.parse(
|
34
|
+
Nokogiri::XML.parse(xml),
|
35
|
+
:unpack => ['Attribute']
|
36
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
37
|
+
data.should be_kind_of(Hash)
|
38
|
+
|
39
|
+
data = RAWS.parse(
|
40
|
+
Nokogiri::XML.parse(xml),
|
41
|
+
:multiple => ['Attribute'],
|
42
|
+
:unpack => ['Attribute']
|
43
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
44
|
+
data.should be_kind_of(Hash)
|
45
|
+
|
46
|
+
xml =<<-END
|
47
|
+
<?xml version="1.0"?>
|
48
|
+
<GetQueueAttributesResponse xmlns="http://queue.amazonaws.com/doc/2009-02-01/"><GetQueueAttributesResult><Attribute><Name>VisibilityTimeout</Name><Value>60</Value></Attribute><Attribute><Name>ApproximateNumberOfMessages</Name><Value>7</Value></Attribute><Attribute><Name>CreatedTimestamp</Name><Value>1248498270</Value></Attribute><Attribute><Name>LastModifiedTimestamp</Name><Value>1248501553</Value></Attribute></GetQueueAttributesResult><ResponseMetadata><RequestId>6f950716-2579-4c55-92e8-ff0cdec28e6d</RequestId></ResponseMetadata></GetQueueAttributesResponse>
|
49
|
+
END
|
50
|
+
data = RAWS.parse(
|
51
|
+
Nokogiri::XML.parse(xml)
|
52
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
53
|
+
data.should be_kind_of(Array)
|
54
|
+
|
55
|
+
data = RAWS.parse(
|
56
|
+
Nokogiri::XML.parse(xml),
|
57
|
+
:multiple => ['Attribute']
|
58
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
59
|
+
data.should be_kind_of(Array)
|
60
|
+
|
61
|
+
data = RAWS.parse(
|
62
|
+
Nokogiri::XML.parse(xml),
|
63
|
+
:unpack => ['Attribute']
|
64
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
65
|
+
data.should be_kind_of(Hash)
|
66
|
+
|
67
|
+
data = RAWS.parse(
|
68
|
+
Nokogiri::XML.parse(xml),
|
69
|
+
:multiple => ['Attribute'],
|
70
|
+
:unpack => ['Attribute']
|
71
|
+
)['GetQueueAttributesResponse']['GetQueueAttributesResult']['Attribute']
|
72
|
+
data.should be_kind_of(Hash)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
metadata
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: raws
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.7
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jun Kikuchi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-10-03 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: pauldix-typhoeus
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.1.2
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: nokogiri
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.3.3
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: uuidtools
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.0.0
|
44
|
+
version:
|
45
|
+
description: raws
|
46
|
+
email: kikuchi@bonnou.com
|
47
|
+
executables: []
|
48
|
+
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- README.rdoc
|
53
|
+
files:
|
54
|
+
- CHANGELOG
|
55
|
+
- COPYING
|
56
|
+
- README.rdoc
|
57
|
+
- Rakefile
|
58
|
+
- VERSION
|
59
|
+
- lib/raws.rb
|
60
|
+
- lib/raws/s3.rb
|
61
|
+
- lib/raws/s3/adapter.rb
|
62
|
+
- lib/raws/sdb.rb
|
63
|
+
- lib/raws/sdb/adapter.rb
|
64
|
+
- lib/raws/sdb/model.rb
|
65
|
+
- lib/raws/sdb/select.rb
|
66
|
+
- lib/raws/sqs.rb
|
67
|
+
- lib/raws/sqs/adapter.rb
|
68
|
+
has_rdoc: true
|
69
|
+
homepage: http://github.com/JunKikuchi/raws
|
70
|
+
licenses: []
|
71
|
+
|
72
|
+
post_install_message:
|
73
|
+
rdoc_options:
|
74
|
+
- --charset=UTF-8
|
75
|
+
require_paths:
|
76
|
+
- lib
|
77
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: "0"
|
82
|
+
version:
|
83
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: "0"
|
88
|
+
version:
|
89
|
+
requirements: []
|
90
|
+
|
91
|
+
rubyforge_project:
|
92
|
+
rubygems_version: 1.3.5
|
93
|
+
signing_key:
|
94
|
+
specification_version: 3
|
95
|
+
summary: raws
|
96
|
+
test_files:
|
97
|
+
- spec/raws/s3_spec.rb
|
98
|
+
- spec/raws/sdb/model_spec.rb
|
99
|
+
- spec/raws/sdb_spec.rb
|
100
|
+
- spec/raws/sqs_spec.rb
|
101
|
+
- spec/raws_spec.rb
|