JunKikuchi-raws 0.0.0 → 0.0.1
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/README.rdoc +51 -0
- data/VERSION +1 -1
- data/lib/raws/sdb/model.rb +49 -4
- data/spec/raws/sdb/model_spec.rb +42 -0
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -1,3 +1,54 @@
|
|
1
1
|
= RAWS
|
2
2
|
|
3
3
|
RAWS is a Ruby library for Amazon Web Service (AWS).
|
4
|
+
|
5
|
+
== SQS (Amazon Simple Queue Service)
|
6
|
+
|
7
|
+
require 'rubygems'
|
8
|
+
require 'raws'
|
9
|
+
|
10
|
+
RAWS.aws_access_key_id = AWS_ACCESS_KEY_ID
|
11
|
+
RAWS.aws_secret_access_key = AWS_SECRET_ACCESS_KEY
|
12
|
+
|
13
|
+
RAWS::SQS.create_queue('test_queue')
|
14
|
+
|
15
|
+
sleep 60
|
16
|
+
|
17
|
+
RAWS::SQS['test_queue'].send('hello1')
|
18
|
+
RAWS::SQS['test_queue'].send('hello2')
|
19
|
+
RAWS::SQS['test_queue'].send('hello3')
|
20
|
+
|
21
|
+
RAWS::SQS['test_queue'].receive(10).each do |msg|
|
22
|
+
p msg.body
|
23
|
+
msg.delete
|
24
|
+
end
|
25
|
+
|
26
|
+
RAWS::SQS['test_queue'].delete_queue
|
27
|
+
|
28
|
+
== SDB (Amazon SimpleDB)
|
29
|
+
|
30
|
+
require 'rubygems'
|
31
|
+
require 'raws'
|
32
|
+
|
33
|
+
RAWS.aws_access_key_id = AWS_ACCESS_KEY_ID
|
34
|
+
RAWS.aws_secret_access_key = AWS_SECRET_ACCESS_KEY
|
35
|
+
|
36
|
+
RAWS::SDB.create_domain('test_domain')
|
37
|
+
|
38
|
+
sleep 60
|
39
|
+
|
40
|
+
RAWS::SDB['test_domain'].put('1', 'a' => '10')
|
41
|
+
RAWS::SDB['test_domain'].put('2', 'b' => '10')
|
42
|
+
RAWS::SDB['test_domain'].put('3', 'c' => '10')
|
43
|
+
|
44
|
+
p RAWS::SDB['test_domain'].get('1')
|
45
|
+
p RAWS::SDB['test_domain'].get('2')
|
46
|
+
p RAWS::SDB['test_domain'].get('3')
|
47
|
+
|
48
|
+
RAWS::SDB['test_domain'].delete('1')
|
49
|
+
RAWS::SDB['test_domain'].delete('2')
|
50
|
+
RAWS::SDB['test_domain'].delete('3')
|
51
|
+
|
52
|
+
RAWS::SDB['test_domain'].delete_domain
|
53
|
+
|
54
|
+
== S3 (Amazon Simple Storage Service)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.1
|
data/lib/raws/sdb/model.rb
CHANGED
@@ -30,6 +30,31 @@ module RAWS::SDB::Model
|
|
30
30
|
def generate_id
|
31
31
|
UUIDTools::UUID.random_create
|
32
32
|
end
|
33
|
+
|
34
|
+
def sdb_reader(*names)
|
35
|
+
names.each do |name|
|
36
|
+
module_eval %Q{
|
37
|
+
def #{name}
|
38
|
+
self['#{name}']
|
39
|
+
end
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def sdb_writer(*names)
|
45
|
+
names.each do |name|
|
46
|
+
module_eval %Q{
|
47
|
+
def #{name}=(val)
|
48
|
+
self['#{name}'] = val
|
49
|
+
end
|
50
|
+
}
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def sdb_accessor(*names)
|
55
|
+
sdb_reader(*names)
|
56
|
+
sdb_writer(*names)
|
57
|
+
end
|
33
58
|
end
|
34
59
|
|
35
60
|
module InstanceMethods
|
@@ -37,6 +62,7 @@ module RAWS::SDB::Model
|
|
37
62
|
|
38
63
|
def initialize(values={}, id=nil)
|
39
64
|
@id, @values = id, values
|
65
|
+
after_initialize
|
40
66
|
end
|
41
67
|
|
42
68
|
def [](key)
|
@@ -48,15 +74,34 @@ module RAWS::SDB::Model
|
|
48
74
|
end
|
49
75
|
|
50
76
|
def delete
|
77
|
+
before_delete
|
51
78
|
RAWS::SDB[self.class.domain_name].delete(id) if id
|
79
|
+
after_delete
|
52
80
|
end
|
53
81
|
|
54
82
|
def save
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
83
|
+
before_save
|
84
|
+
if id
|
85
|
+
before_update
|
86
|
+
RAWS::SDB[self.class.domain_name].put(id, values)
|
87
|
+
after_update
|
88
|
+
else
|
89
|
+
before_insert
|
90
|
+
RAWS::SDB[self.class.domain_name].put(self.class.generate_id, values)
|
91
|
+
after_insert
|
92
|
+
end
|
93
|
+
after_save
|
59
94
|
end
|
95
|
+
|
96
|
+
def after_initialize; end
|
97
|
+
def before_delete; end
|
98
|
+
def after_delete; end
|
99
|
+
def before_save; end
|
100
|
+
def after_save; end
|
101
|
+
def before_update; end
|
102
|
+
def after_update; end
|
103
|
+
def before_insert; end
|
104
|
+
def after_insert; end
|
60
105
|
end
|
61
106
|
|
62
107
|
def self.included(mod)
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec/spec_config'
|
2
|
+
|
3
|
+
class SDBModel
|
4
|
+
include RAWS::SDB::Model
|
5
|
+
self.domain_name = RAWS_SDB_DOMAIN
|
6
|
+
end
|
7
|
+
|
8
|
+
describe RAWS::SDB::Model do
|
9
|
+
describe 'class' do
|
10
|
+
it 'methods' do
|
11
|
+
%w'
|
12
|
+
create_domain
|
13
|
+
delete_domain
|
14
|
+
select
|
15
|
+
generate_id
|
16
|
+
'.each do |val|
|
17
|
+
SDBModel.should respond_to val.to_sym
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'domain_name' do
|
22
|
+
SDBModel.domain_name.should == RAWS_SDB_DOMAIN
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'object' do
|
27
|
+
before do
|
28
|
+
@model = SDBModel.new
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'methods' do
|
32
|
+
%w'
|
33
|
+
[]
|
34
|
+
[]=
|
35
|
+
delete
|
36
|
+
save
|
37
|
+
'.each do |val|
|
38
|
+
@model.should respond_to val.to_sym
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: JunKikuchi-raws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jun Kikuchi
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-13 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -38,7 +38,6 @@ files:
|
|
38
38
|
- lib/raws/sqs/adapter.rb
|
39
39
|
has_rdoc: false
|
40
40
|
homepage: http://github.com/JunKikuchi/raws
|
41
|
-
licenses:
|
42
41
|
post_install_message:
|
43
42
|
rdoc_options:
|
44
43
|
- --charset=UTF-8
|
@@ -59,12 +58,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
58
|
requirements: []
|
60
59
|
|
61
60
|
rubyforge_project:
|
62
|
-
rubygems_version: 1.
|
61
|
+
rubygems_version: 1.2.0
|
63
62
|
signing_key:
|
64
63
|
specification_version: 3
|
65
64
|
summary: raws
|
66
65
|
test_files:
|
67
66
|
- spec/raws/s3_spec.rb
|
67
|
+
- spec/raws/sdb/model_spec.rb
|
68
68
|
- spec/raws/sdb_spec.rb
|
69
69
|
- spec/raws/sqs_spec.rb
|
70
70
|
- spec/raws_spec.rb
|