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.
@@ -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.0
1
+ 0.0.1
@@ -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
- RAWS::SDB[self.class.domain_name].put(
56
- id || self.class.generate_id,
57
- values
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.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-08-25 00:00:00 -07:00
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.3.5
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