raws 0.0.9 → 0.0.10

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 ADDED
@@ -0,0 +1,22 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
22
+ /spec/spec_config.rb
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Jun Kikuchi
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  RAWS is a Ruby library for Amazon Web Service (AWS).
4
4
 
5
- == SQS (Amazon Simple Queue Service)
5
+ == Usage
6
+
7
+ === SQS (Amazon Simple Queue Service)
6
8
 
7
9
  require 'rubygems'
8
10
  require 'raws'
@@ -22,9 +24,9 @@ RAWS is a Ruby library for Amazon Web Service (AWS).
22
24
  msg.delete
23
25
  end
24
26
 
25
- RAWS::SQS['test_queue'].delete_queue
27
+ RAWS::SQS.delete_queue('test_queue')
26
28
 
27
- == SDB (Amazon SimpleDB)
29
+ === SDB (Amazon SimpleDB)
28
30
 
29
31
  プリミティブな使い方
30
32
 
@@ -57,7 +59,7 @@ RAWS is a Ruby library for Amazon Web Service (AWS).
57
59
  RAWS::SDB['test_domain'].delete('2')
58
60
  RAWS::SDB['test_domain'].delete('3')
59
61
 
60
- RAWS::SDB['test_domain'].delete_domain
62
+ RAWS::SDB.delete_domain('test_domain')
61
63
 
62
64
  クラスとして使う場合
63
65
 
@@ -103,14 +105,88 @@ RAWS is a Ruby library for Amazon Web Service (AWS).
103
105
 
104
106
  Foo.delete_domain
105
107
 
106
- == S3 (Amazon Simple Storage Service)
108
+ === S3 (Amazon Simple Storage Service)
109
+
110
+ プリミティブな使い方
107
111
 
108
112
  require 'rubygems'
109
113
  require 'raws'
110
114
 
111
115
  RAWS.aws_access_key_id = _AWS_ACCESS_KEY_ID_
112
116
  RAWS.aws_secret_access_key = _AWS_SECRET_ACCESS_KEY_
117
+
118
+ RAWS::S3.create_bucket('test-bucket')
119
+
120
+ RAWS::S3['test-bucket'].put('helloworld') do |request|
121
+ request.header['content-type'] = 'text/plain'
122
+ request.header['content-length'] = ("Hello World\n".size * 1000).to_i
123
+ request.send do |io|
124
+ 1000.times do
125
+ io.write "Hellow World\n"
126
+ end
127
+ end
128
+ end
129
+
130
+ RAWS::S3['test-bucket'].get('helloworld') do |request|
131
+ response = request.send
132
+ p response.header
133
+ response.receive do |io|
134
+ while chunk = io.read
135
+ print chunk
136
+ end
137
+ end
138
+ end
139
+
140
+ RAWS::S3.delete_bucket('test-bucket')
141
+
142
+ クラスとして使う場合
113
143
 
114
- RAWS::S3.create_bucket('test_bucket')
144
+ require 'rubygems'
145
+ require 'raws'
115
146
 
116
- RAWS::S3['test_bucket'].delete_bucket
147
+ RAWS.aws_access_key_id = _AWS_ACCESS_KEY_ID_
148
+ RAWS.aws_secret_access_key = _AWS_SECRET_ACCESS_KEY_
149
+
150
+ class Foo
151
+ include RAWS::S3::Model
152
+ self.bucket_name = 'test-bucket'
153
+ end
154
+
155
+ Foo.create_bucket
156
+
157
+ foo = Foo.new('helloworld')
158
+ foo.metadata['ja'] = 'こんにちは'
159
+ foo.send(
160
+ 'content-type' => 'text/plain',
161
+ 'content-length' => ("Hello World\n".size * 1000).to_i
162
+ ) do |io|
163
+ 1000.times do
164
+ io.write "Hellow World\n"
165
+ end
166
+ end
167
+
168
+ foo = Foo.find('helloworld')
169
+ p foo.header
170
+ p foo.metadata
171
+ foo.receive do |io|
172
+ while chunk = io.read
173
+ print chunk
174
+ end
175
+ end
176
+
177
+ Foo.delete_bucket
178
+
179
+ == Note on Patches/Pull Requests
180
+
181
+ * Fork the project.
182
+ * Make your feature addition or bug fix.
183
+ * Add tests for it. This is important so I don't break it in a
184
+ future version unintentionally.
185
+ * Commit, do not mess with rakefile, version, or history.
186
+ (if you want to have your own version, that is fine but
187
+ bump version in a commit by itself I can ignore when I pull)
188
+ * Send me a pull request. Bonus points for topic branches.
189
+
190
+ == Copyright
191
+
192
+ Copyright (c) 2009 Jun Kikuchi. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,35 +1,49 @@
1
1
  require 'rubygems'
2
- require 'spec/rake/spectask'
3
-
4
- NAME = 'raws'
2
+ require 'rake'
5
3
 
6
4
  begin
7
5
  require 'jeweler'
8
- Jeweler::Tasks.new do |s|
9
- s.name = NAME
10
- s.platform = Gem::Platform::RUBY
11
- s.summary = NAME
12
- s.description = NAME
13
- s.author = "Jun Kikuchi"
14
- s.email = "kikuchi@bonnou.com"
15
- s.homepage = "http://github.com/JunKikuchi/raws"
16
- s.files = %w(
17
- COPYING CHANGELOG README.rdoc Rakefile VERSION
18
- ) + Dir.glob("{bin,doc,lib}/**/*")
19
- s.require_path = "lib"
20
- s.has_rdoc = true
21
- s.add_dependency('typhoeus', '>=0.1.9')
22
- s.add_dependency('ht2p', '>=0.0.5')
23
- s.add_dependency('nokogiri', '>=1.3.3')
24
- s.add_dependency('uuidtools', '>=2.0.0')
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = 'raws'
8
+ gem.summary = %Q{raws}
9
+ gem.description = %Q{raws}
10
+ gem.email = "kikuchi@bonnou.com"
11
+ gem.homepage = "http://github.com/JunKikuchi/raws"
12
+ gem.authors = ["Jun Kikuchi"]
13
+ gem.add_development_dependency "rspec", ">= 1.2.9"
14
+ gem.add_dependency 'typhoeus', '>=0.1.9'
15
+ gem.add_dependency 'ht2p', '>=0.0.5'
16
+ gem.add_dependency 'nokogiri', '>=1.3.3'
17
+ gem.add_dependency 'uuidtools', '>=2.0.0'
18
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
25
19
  end
26
20
  Jeweler::GemcutterTasks.new
27
21
  rescue LoadError
28
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
22
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
23
+ end
24
+
25
+ require 'spec/rake/spectask'
26
+ Spec::Rake::SpecTask.new(:spec) do |spec|
27
+ spec.libs << 'lib' << 'spec'
28
+ spec.spec_files = FileList['spec/**/*_spec.rb']
29
29
  end
30
30
 
31
- Spec::Rake::SpecTask.new do |t|
32
- #t.spec_opts = ['-c --format specdoc']
33
- t.spec_opts = ['-c']
34
- t.spec_files = FileList['spec/**/*_spec.rb']
31
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
32
+ spec.libs << 'lib' << 'spec'
33
+ spec.pattern = 'spec/**/*_spec.rb'
34
+ spec.rcov = true
35
+ end
36
+
37
+ task :spec => :check_dependencies
38
+
39
+ task :default => :spec
40
+
41
+ require 'rake/rdoctask'
42
+ Rake::RDocTask.new do |rdoc|
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "ht2p #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
35
49
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.9
1
+ 0.0.10
@@ -31,7 +31,7 @@ class RAWS::HTTP::Typhoeus
31
31
  @before_send && @before_send.call(self)
32
32
  response = Response.new(
33
33
  ::Typhoeus::Request.__send__(
34
- @method.downcase.to_sym,
34
+ @method.to_s.downcase.to_sym,
35
35
  @uri,
36
36
  :headers => @header,
37
37
  :body => if block_given?
@@ -175,9 +175,7 @@ class RAWS::S3::Adapter
175
175
  :path => '/' << name
176
176
  ) do |request|
177
177
  request.header.merge!(header)
178
- response = request.send(&block)
179
- response.receive
180
- response
178
+ block.call(request)
181
179
  end
182
180
  end
183
181
 
@@ -200,9 +198,13 @@ class RAWS::S3::Adapter
200
198
  :path => "/#{name}"
201
199
  ) do |request|
202
200
  request.header.merge! header
203
- response = request.send
204
- response.receive(&block)
205
- response
201
+ if block_given?
202
+ block.call(request)
203
+ else
204
+ response = request.send
205
+ response.receive
206
+ response
207
+ end
206
208
  end
207
209
  end
208
210
 
@@ -0,0 +1,39 @@
1
+ class RAWS::S3::Metadata < Hash
2
+ X_AMZ_META = 'x-amz-meta-'
3
+
4
+ def initialize(header={})
5
+ super()
6
+ decode(header)
7
+ end
8
+
9
+ def decode(header)
10
+ clear
11
+ header.select do |key, val|
12
+ key.match(/^#{X_AMZ_META}/)
13
+ end.each do |key, val|
14
+ self[key.sub(X_AMZ_META, '')] = begin
15
+ a = val.split(',').map do |val|
16
+ RAWS.unescape(val)
17
+ end
18
+ 1 < a.size ? a : a.first
19
+ end
20
+ end
21
+ self
22
+ end
23
+
24
+ def encode
25
+ self.inject({}) do |ret, (key, val)|
26
+ key = X_AMZ_META + key
27
+
28
+ if val.is_a? Array
29
+ ret[key] = val.map do |v|
30
+ RAWS.escape(v.strip)
31
+ end.join(',')
32
+ else
33
+ ret[key] = RAWS.escape(val.strip)
34
+ end
35
+
36
+ ret
37
+ end
38
+ end
39
+ end
data/lib/raws/s3/model.rb CHANGED
@@ -9,9 +9,75 @@ module RAWS::S3::Model
9
9
  def delete_bucket(force=nil)
10
10
  RAWS::S3.delete_bucket(self.bucket_name, force)
11
11
  end
12
+
13
+ def filter(query={})
14
+ RAWS::S3.filter(self.bucket_name, query).map do |val|
15
+ self.new(val['Key'])
16
+ end
17
+ end
18
+ alias :all :filter
19
+
20
+ def find(key, header={})
21
+ begin
22
+ self.new(key, RAWS::S3.head(self.bucket_name, key).header)
23
+ rescue RAWS::HTTP::Error => e
24
+ if e.response.code == 404
25
+ nil
26
+ else
27
+ raise e
28
+ end
29
+ end
30
+ end
12
31
  end
13
32
 
14
33
  module InstanceMethods
34
+ attr_reader :key
35
+
36
+ def initialize(key, header=nil)
37
+ @key, @header = key, header
38
+ @metadata = RAWS::S3::Metadata.new(header || {})
39
+ after_initialize
40
+ end
41
+
42
+ def header
43
+ begin
44
+ @header = RAWS::S3.head(self.class.bucket_name, @key).header
45
+ rescue RAWS::HTTP::Error => e
46
+ if e.response.code == 404
47
+ {}
48
+ else
49
+ raise e
50
+ end
51
+ end
52
+ end
53
+
54
+ def metadata
55
+ @header ? @metadata : @metadata.decode(header)
56
+ end
57
+
58
+ def receive(header={}, &block)
59
+ RAWS::S3.get(
60
+ self.class.bucket_name,
61
+ @key,
62
+ header
63
+ ) do |request|
64
+ response = request.send
65
+ response.receive(&block)
66
+ @metadata.decode(response.header)
67
+ response
68
+ end
69
+ end
70
+
71
+ def send(header={}, &block)
72
+ RAWS::S3.put(
73
+ self.class.bucket_name,
74
+ @key,
75
+ @metadata.encode.merge!(header)
76
+ ) do |request|
77
+ request.send(&block)
78
+ end
79
+ end
80
+
15
81
  def after_initialize; end
16
82
  def before_delete; end
17
83
  def after_delete; end
@@ -29,43 +95,4 @@ module RAWS::S3::Model
29
95
  extend ClassMethods
30
96
  end
31
97
  end
32
-
33
- class Metadata < Hash
34
- X_AMZ_META = 'x-amz-meta-'
35
-
36
- def initialize(object)
37
- super()
38
- @object = object
39
- decode(@object.header)
40
- end
41
-
42
- def decode(header)
43
- header.select do |key, val|
44
- key.match(/^#{X_AMZ_META}/)
45
- end.each do |key, val|
46
- self[key.sub(X_AMZ_META, '')] = begin
47
- a = val.split(',').map do |val|
48
- RAWS.unescape(val)
49
- end
50
- 1 < a.size ? a : a.first
51
- end
52
- end
53
- end
54
-
55
- def encode
56
- self.inject({}) do |ret, (key, val)|
57
- key = X_AMZ_META + key
58
-
59
- if val.is_a? Array
60
- ret[key] = val.map do |v|
61
- RAWS.escape(v.strip)
62
- end.join(',')
63
- else
64
- ret[key] = RAWS.escape(val.strip)
65
- end
66
-
67
- ret
68
- end
69
- end
70
- end
71
98
  end
data/lib/raws/s3.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class RAWS::S3
2
- autoload :S3Object, 'raws/s3/s3object'
2
+ autoload :Metadata, 'raws/s3/metadata'
3
3
  autoload :Adapter, 'raws/s3/adapter'
4
4
  autoload :Model, 'raws/s3/model'
5
5
 
@@ -25,12 +25,16 @@ class RAWS::S3
25
25
  end
26
26
 
27
27
  def owner
28
- @owner ||= Adapter.get_service.doc['ListAllMyBucketsResult']['Owner']
28
+ Adapter.get_service.doc['ListAllMyBucketsResult']['Owner']
29
+ end
30
+
31
+ def list
32
+ Adapter.get_service.doc['ListAllMyBucketsResult']
29
33
  end
30
34
 
31
35
  def buckets
32
36
  begin
33
- response = Adapter.get_service.doc['ListAllMyBucketsResult']
37
+ response = list
34
38
  @owner ||= response['Owner']
35
39
  response['Buckets']['Bucket'] || []
36
40
  end.map do |val|
@@ -38,6 +42,10 @@ class RAWS::S3
38
42
  end
39
43
  end
40
44
 
45
+ def each(&block)
46
+ buckets.each(&block)
47
+ end
48
+
41
49
  def [](bucket_name)
42
50
  @cache ||= {}
43
51
  @cache[bucket_name] ||= self.new(bucket_name)
@@ -59,7 +67,7 @@ class RAWS::S3
59
67
  end
60
68
  alias :all :filter
61
69
 
62
- def put(bucket_name, name, header, &block)
70
+ def put(bucket_name, name, header={}, &block)
63
71
  Adapter.put_object(bucket_name, name, header, &block)
64
72
  end
65
73
 
@@ -67,8 +75,8 @@ class RAWS::S3
67
75
  Adapter.copy_object(src_bucket, src_name, dest_bucket, dest_name, header)
68
76
  end
69
77
 
70
- def get(bucket_name, name, params={}, &block)
71
- Adapter.get_object(bucket_name, name, params, &block)
78
+ def get(bucket_name, name, header={}, &block)
79
+ Adapter.get_object(bucket_name, name, header, &block)
72
80
  end
73
81
 
74
82
  def head(bucket_name, name)
@@ -80,12 +88,11 @@ class RAWS::S3
80
88
  end
81
89
  end
82
90
 
83
- attr_reader :bucket_name, :creation_date
91
+ attr_reader :bucket_name
84
92
  alias :name :bucket_name
85
93
 
86
- def initialize(bucket_name, creation_date=nil)
94
+ def initialize(bucket_name)
87
95
  @bucket_name = bucket_name
88
- @creation_date = Time.parse(creation_date) if creation_date
89
96
  end
90
97
 
91
98
  def create_bucket(location=nil)
@@ -105,7 +112,7 @@ class RAWS::S3
105
112
  end
106
113
  alias :all :filter
107
114
 
108
- def put(name, header, &block)
115
+ def put(name, header={}, &block)
109
116
  self.class.put(@bucket_name, name, header, &block)
110
117
  end
111
118
 
data/lib/raws/sdb.rb CHANGED
@@ -21,27 +21,30 @@ class RAWS::SDB
21
21
  end
22
22
 
23
23
  def metadata(domain_name)
24
- Adapter.domain_metadata(
25
- domain_name
26
- )['DomainMetadataResponse']['DomainMetadataResult']
24
+ doc = Adapter.domain_metadata(domain_name)
25
+ doc['DomainMetadataResponse']['DomainMetadataResult']
27
26
  end
28
27
 
29
28
  def list(next_token=nil, max_num=nil)
30
- Adapter.list_domains(
31
- next_token,
32
- max_num
33
- )['ListDomainsResponse']['ListDomainsResult']
29
+ doc = Adapter.list_domains(next_token, max_num)
30
+ doc['ListDomainsResponse']['ListDomainsResult']
31
+ end
32
+
33
+ def domains(next_token=nil, max_num=nil)
34
+ data = list(next_token, max_num)
35
+ {
36
+ 'Domains' => (data['DomainName'] || []).map do |val|
37
+ self.new(val)
38
+ end,
39
+ 'NextToken' => data['NextToken']
40
+ }
34
41
  end
35
42
 
36
43
  def each(&block)
37
44
  next_token = nil
38
45
  begin
39
- data = list(next_token)
40
- if domain = data['DomainName']
41
- domain.each do |val|
42
- block.call(self.new(val))
43
- end
44
- end
46
+ data = domains(next_token)
47
+ data['Domains'].each(&block)
45
48
  end while next_token = data['NextToken']
46
49
  end
47
50
 
data/lib/raws/sqs.rb CHANGED
@@ -37,17 +37,18 @@ class RAWS::SQS
37
37
  end
38
38
 
39
39
  def list(prefix=nil)
40
- (
41
- Adapter.list_queues(
42
- prefix
43
- )['ListQueuesResponse']['ListQueuesResult']['QueueUrl'] || []
44
- ).map do |val|
40
+ doc = Adapter.list_queues(prefix)
41
+ doc['ListQueuesResponse']['ListQueuesResult']['QueueUrl'] || []
42
+ end
43
+
44
+ def queues(prefix=nil)
45
+ list.map do |val|
45
46
  self.new(val)
46
47
  end
47
48
  end
48
49
 
49
50
  def each(&block)
50
- list.each(&block)
51
+ queues.each(&block)
51
52
  end
52
53
 
53
54
  def [](queue_name)
data/raws.gemspec ADDED
@@ -0,0 +1,93 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{raws}
8
+ s.version = "0.0.10"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Jun Kikuchi"]
12
+ s.date = %q{2009-11-23}
13
+ s.description = %q{raws}
14
+ s.email = %q{kikuchi@bonnou.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".gitignore",
21
+ "CHANGELOG",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/raws.rb",
27
+ "lib/raws/http.rb",
28
+ "lib/raws/http/ht2p.rb",
29
+ "lib/raws/http/typhoeus.rb",
30
+ "lib/raws/s3.rb",
31
+ "lib/raws/s3/adapter.rb",
32
+ "lib/raws/s3/metadata.rb",
33
+ "lib/raws/s3/model.rb",
34
+ "lib/raws/sdb.rb",
35
+ "lib/raws/sdb/adapter.rb",
36
+ "lib/raws/sdb/model.rb",
37
+ "lib/raws/sdb/select.rb",
38
+ "lib/raws/sqs.rb",
39
+ "lib/raws/sqs/adapter.rb",
40
+ "lib/raws/xml.rb",
41
+ "lib/raws/xml/nokogiri.rb",
42
+ "raws.gemspec",
43
+ "spec/raws/s3/model_spec.rb",
44
+ "spec/raws/s3_spec.rb",
45
+ "spec/raws/sdb/model_spec.rb",
46
+ "spec/raws/sdb_spec.rb",
47
+ "spec/raws/sqs_spec.rb",
48
+ "spec/raws_spec.rb",
49
+ "spec/spec.opts",
50
+ "spec/spec_config.rb.example",
51
+ "spec/spec_helper.rb"
52
+ ]
53
+ s.homepage = %q{http://github.com/JunKikuchi/raws}
54
+ s.rdoc_options = ["--charset=UTF-8"]
55
+ s.require_paths = ["lib"]
56
+ s.rubygems_version = %q{1.3.5}
57
+ s.summary = %q{raws}
58
+ s.test_files = [
59
+ "spec/raws/s3/model_spec.rb",
60
+ "spec/raws/s3_spec.rb",
61
+ "spec/raws/sdb/model_spec.rb",
62
+ "spec/raws/sdb_spec.rb",
63
+ "spec/raws/sqs_spec.rb",
64
+ "spec/raws_spec.rb",
65
+ "spec/spec_helper.rb"
66
+ ]
67
+
68
+ if s.respond_to? :specification_version then
69
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
70
+ s.specification_version = 3
71
+
72
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
73
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
74
+ s.add_runtime_dependency(%q<typhoeus>, [">= 0.1.9"])
75
+ s.add_runtime_dependency(%q<ht2p>, [">= 0.0.5"])
76
+ s.add_runtime_dependency(%q<nokogiri>, [">= 1.3.3"])
77
+ s.add_runtime_dependency(%q<uuidtools>, [">= 2.0.0"])
78
+ else
79
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
80
+ s.add_dependency(%q<typhoeus>, [">= 0.1.9"])
81
+ s.add_dependency(%q<ht2p>, [">= 0.0.5"])
82
+ s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
83
+ s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
84
+ end
85
+ else
86
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
87
+ s.add_dependency(%q<typhoeus>, [">= 0.1.9"])
88
+ s.add_dependency(%q<ht2p>, [">= 0.0.5"])
89
+ s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
90
+ s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
91
+ end
92
+ end
93
+
@@ -0,0 +1,40 @@
1
+ require 'spec/spec_config'
2
+
3
+ class S3Object
4
+ include RAWS::S3::Model
5
+ self.bucket_name = RAWS_S3_BUCKETS[0][0]
6
+ end
7
+
8
+ describe RAWS::S3::Model do
9
+ describe 'class' do
10
+ it 'methods' do
11
+ %w'
12
+ create_bucket
13
+ delete_bucket
14
+ filter
15
+ all
16
+ find
17
+ '.each do |val|
18
+ S3Object.should respond_to val.to_sym
19
+ end
20
+ end
21
+ end
22
+
23
+ describe 'object' do
24
+ before do
25
+ @model = S3Object.all.first
26
+ end
27
+
28
+ it 'methods' do
29
+ %w'
30
+ header
31
+ metadata
32
+ send
33
+ receive
34
+ '.each do |val|
35
+ @model.should respond_to val.to_sym
36
+ end
37
+ end
38
+ end
39
+ end
40
+
data/spec/raws/s3_spec.rb CHANGED
@@ -8,41 +8,36 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
8
8
  describe RAWS::S3 do
9
9
  describe 'class' do
10
10
  before(:all) do
11
- response = RAWS::S3.create_bucket(bucket_name, location)
12
- response.should be_kind_of(RAWS::HTTP::Response)
11
+ #response = RAWS::S3.create_bucket(bucket_name, location)
12
+ #response.should be_kind_of(RAWS::HTTP::Response)
13
13
 
14
- RAWS::S3.put(
15
- bucket_name,
16
- 'aaa',
17
- 'content-length' => 3
18
- ) do |io|
19
- io.write 'AAA'
14
+ begin
15
+ RAWS::S3.put(bucket_name, 'aaa') do |request|
16
+ request.send 'AAA'
17
+ end
18
+
19
+ RAWS::S3.put(bucket_name, 'bbb') do |request|
20
+ request.header['content-length'] = 3
21
+ request.send do |io|
22
+ io.write 'BBB'
23
+ end
20
24
  end
21
25
 
22
- RAWS::S3.put(
23
- bucket_name,
24
- 'bbb',
25
- 'content-length' => 3
26
- ) do |io|
27
- io.write 'BBB'
26
+ RAWS::S3.put(bucket_name, 'ccc') do |request|
27
+ request.send 'CCC'
28
28
  end
29
-
30
- RAWS::S3.put(
31
- bucket_name,
32
- 'ccc',
33
- 'content-length' => 3
34
- ) do |io|
35
- io.write 'CCC'
29
+ rescue => e
30
+ d e
36
31
  end
37
32
  end
38
-
33
+ =begin
39
34
  after(:all) do
40
35
  response = RAWS::S3.delete_bucket(bucket_name, :force)
41
36
  response.should be_kind_of(RAWS::HTTP::Response)
42
37
 
43
38
  sleep 30
44
39
  end
45
-
40
+ =end
46
41
  it "owner should return a owner information of the bucket" do
47
42
  RAWS::S3.owner.should be_instance_of(Hash)
48
43
  RAWS::S3.owner['DisplayName'].should be_instance_of(String)
@@ -79,15 +74,22 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
79
74
  end
80
75
 
81
76
  it 'put, get and delete method should put, get and delete the object' do
82
- response = RAWS::S3.put(bucket_name, 'a', 'content-length' => 1) do |io|
83
- io.write 'A'
77
+ RAWS::S3.put(bucket_name, 'a') do |request|
78
+ request.should be_kind_of(RAWS::HTTP::Request)
79
+
80
+ response = request.send('AAA')
81
+
82
+ response.should be_kind_of(RAWS::HTTP::Response)
84
83
  end
85
- response.should be_kind_of(RAWS::HTTP::Response)
86
84
 
87
- response = RAWS::S3.get(bucket_name, 'a') do |io|
88
- io.read
85
+ RAWS::S3.get(bucket_name, 'a') do |request|
86
+ request.should be_kind_of(RAWS::HTTP::Request)
87
+
88
+ response = request.send
89
+ response.receive.should == 'AAA'
90
+
91
+ response.should be_kind_of(RAWS::HTTP::Response)
89
92
  end
90
- response.should be_kind_of(RAWS::HTTP::Response)
91
93
 
92
94
  response = RAWS::S3.delete(bucket_name, 'a')
93
95
  response.should be_kind_of(RAWS::HTTP::Response)
@@ -102,13 +104,13 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
102
104
  response.should be_kind_of(RAWS::HTTP::Response)
103
105
 
104
106
  src = nil
105
- RAWS::S3.get(bucket_name, 'aaa') do |io|
106
- src = io.read
107
+ RAWS::S3.get(bucket_name, 'aaa') do |request|
108
+ src = request.send.receive
107
109
  end
108
110
 
109
111
  dest = nil
110
- RAWS::S3.get(bucket_name, 'AAA') do |io|
111
- dest = io.read
112
+ RAWS::S3.get(bucket_name, 'AAA') do |request|
113
+ dest = request.send.receive
112
114
  end
113
115
 
114
116
  dest.should == src
@@ -126,20 +128,25 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
126
128
  describe 'object' do
127
129
  before(:all) do
128
130
  @bucket = RAWS::S3[bucket_name]
129
- @bucket.create_bucket.should be_kind_of(RAWS::HTTP::Response)
130
-
131
- @bucket.put('aaa', 'content-length' => 3) do |io| io.write 'AAA' end
132
- @bucket.put('bbb', 'content-length' => 3) do |io| io.write 'BBB' end
133
- @bucket.put('ccc', 'content-length' => 3) do |io| io.write 'CCC' end
131
+ #@bucket.create_bucket.should be_kind_of(RAWS::HTTP::Response)
132
+
133
+ @bucket.put('aaa') do |request| request.send 'AAA' end
134
+ @bucket.put('bbb') do |request|
135
+ request.header['content-length'] = 3
136
+ request.send do |io|
137
+ io.write 'AAA'
138
+ end
139
+ end
140
+ @bucket.put('ccc') do |request| request.send 'CCC' end
134
141
  end
135
-
142
+ =begin
136
143
  after(:all) do
137
144
  response = @bucket.delete_bucket(:force)
138
145
  response.should be_kind_of(RAWS::HTTP::Response)
139
146
 
140
147
  sleep 30
141
148
  end
142
-
149
+ =end
143
150
  it "location should return location of the bucket" do
144
151
  @bucket.location.should == location_label
145
152
  end
@@ -152,13 +159,22 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
152
159
  end
153
160
 
154
161
  it 'put, get and delete method should put, get and delete the object' do
155
- @bucket.put('a', 'content-length' => 1) do |io|
156
- io.write 'A'
157
- end.should be_kind_of(RAWS::HTTP::Response)
162
+ @bucket.put('a') do |request|
163
+ request.should be_kind_of(RAWS::HTTP::Request)
158
164
 
159
- @bucket.get('a') do |io|
160
- io.read
161
- end.should be_kind_of(RAWS::HTTP::Response)
165
+ response = request.send('AAA')
166
+
167
+ response.should be_kind_of(RAWS::HTTP::Response)
168
+ end
169
+
170
+ @bucket.get('a') do |request|
171
+ request.should be_kind_of(RAWS::HTTP::Request)
172
+
173
+ response = request.send
174
+ response.receive.should == 'AAA'
175
+
176
+ response.should be_kind_of(RAWS::HTTP::Response)
177
+ end
162
178
 
163
179
  @bucket.delete('a').should be_kind_of(RAWS::HTTP::Response)
164
180
 
@@ -172,13 +188,13 @@ RAWS_S3_BUCKETS.each do |bucket_name, location, acl|
172
188
  response.should be_kind_of(RAWS::HTTP::Response)
173
189
 
174
190
  src = nil
175
- @bucket.get('aaa') do |io|
176
- src = io.read
191
+ @bucket.get('aaa') do |request|
192
+ src = request.send.receive
177
193
  end
178
194
 
179
195
  dest = nil
180
- @bucket.get('AAA') do |io|
181
- dest = io.read
196
+ @bucket.get('AAA') do |request|
197
+ dest = request.send.receive
182
198
  end
183
199
 
184
200
  dest.should == src
@@ -2,19 +2,22 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
3
  describe RAWS::SDB do
4
4
  before :all do
5
- RAWS::SDB.create_domain(RAWS_SDB_DOMAIN)
5
+ RAWS_SDB_DOMAINS.each do |name|
6
+ RAWS::SDB.create_domain(name)
7
+ end
6
8
  puts '[sleep 60 secs]'
7
9
  sleep 60
8
- RAWS::SDB[RAWS_SDB_DOMAIN].put(
10
+ @domain_name = RAWS_SDB_DOMAINS.first
11
+ RAWS::SDB[@domain_name].put(
9
12
  '100', 'a' => 10
10
13
  )
11
- RAWS::SDB[RAWS_SDB_DOMAIN].put(
14
+ RAWS::SDB[@domain_name].put(
12
15
  '200', 'a' => [10, 20], 'b' => 20
13
16
  )
14
- RAWS::SDB[RAWS_SDB_DOMAIN].put(
17
+ RAWS::SDB[@domain_name].put(
15
18
  '300', 'a' => [10, 20, 30], 'b' => 20, 'c' => 30
16
19
  )
17
- RAWS::SDB[RAWS_SDB_DOMAIN].batch_put(
20
+ RAWS::SDB[@domain_name].batch_put(
18
21
  "400" => {"a"=>["10", "20", "30", "40"]},
19
22
  "500" => {"a"=>["10", "20", "30", "40", "50"]},
20
23
  "600" => {"a"=>["10", "20", "30", "40", "50", "60"]}
@@ -22,7 +25,9 @@ describe RAWS::SDB do
22
25
  end
23
26
 
24
27
  after :all do
25
- RAWS::SDB.delete_domain(RAWS_SDB_DOMAIN)
28
+ RAWS_SDB_DOMAINS.each do |name|
29
+ RAWS::SDB.delete_domain(name)
30
+ end
26
31
  puts '[sleep 60 secs]'
27
32
  sleep 60
28
33
  end
@@ -34,6 +39,7 @@ describe RAWS::SDB do
34
39
  delete_domain
35
40
  metadata
36
41
  list
42
+ domains
37
43
  each
38
44
  []
39
45
  select
@@ -54,7 +60,7 @@ describe RAWS::SDB do
54
60
  end
55
61
 
56
62
  it 'metadata' do
57
- data = RAWS::SDB.metadata(RAWS_SDB_DOMAIN)
63
+ data = RAWS::SDB.metadata(@domain_name)
58
64
  data.should have_key('Timestamp')
59
65
  data.should have_key('ItemCount')
60
66
  data.should have_key('AttributeValueCount')
@@ -71,6 +77,18 @@ describe RAWS::SDB do
71
77
  data = RAWS::SDB.list(nil, 1)
72
78
  data['DomainName'].should be_kind_of(Array)
73
79
  data['DomainName'].size.should == 1
80
+ data['DomainName'].first.should be_kind_of(String)
81
+ data.should have_key('NextToken')
82
+ end
83
+
84
+ it 'domains' do
85
+ domains = RAWS::SDB.domains
86
+ domains.should have_key('Domains')
87
+
88
+ data = RAWS::SDB.domains(nil, 1)
89
+ data['Domains'].should be_kind_of(Array)
90
+ data['Domains'].size.should == 1
91
+ data['Domains'].first.should be_kind_of(RAWS::SDB)
74
92
  data.should have_key('NextToken')
75
93
  end
76
94
 
@@ -81,62 +99,62 @@ describe RAWS::SDB do
81
99
  end
82
100
 
83
101
  it '[]' do
84
- RAWS::SDB[RAWS_SDB_DOMAIN].should be_kind_of(RAWS::SDB)
102
+ RAWS::SDB[@domain_name].should be_kind_of(RAWS::SDB)
85
103
  end
86
104
 
87
105
  it 'select' do
88
- RAWS::SDB[RAWS_SDB_DOMAIN].select do |val|
106
+ RAWS::SDB[@domain_name].select do |val|
89
107
  val.first.should be_kind_of(String)
90
108
  val.last.should be_kind_of(Hash)
91
109
  end
92
110
 
93
- RAWS::SDB[RAWS_SDB_DOMAIN].select.where('b = ?', 20) do |val|
111
+ RAWS::SDB[@domain_name].select.where('b = ?', 20) do |val|
94
112
  val.first.should be_kind_of(String)
95
113
  val.last.should be_kind_of(Hash)
96
114
  end
97
115
  end
98
116
 
99
117
  it 'all' do
100
- RAWS::SDB[RAWS_SDB_DOMAIN].all do |val|
118
+ RAWS::SDB[@domain_name].all do |val|
101
119
  val.first.should be_kind_of(String)
102
120
  val.last.should be_kind_of(Hash)
103
121
  end
104
122
 
105
- RAWS::SDB[RAWS_SDB_DOMAIN].all.filter('b = ?', 20) do |val|
123
+ RAWS::SDB[@domain_name].all.filter('b = ?', 20) do |val|
106
124
  val.first.should be_kind_of(String)
107
125
  val.last.should be_kind_of(Hash)
108
126
  end
109
127
  end
110
128
 
111
129
  it 'get' do
112
- RAWS::SDB[RAWS_SDB_DOMAIN].get('000').should be_nil
130
+ RAWS::SDB[@domain_name].get('000').should be_nil
113
131
 
114
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('100')
132
+ data = RAWS::SDB[@domain_name].get('100')
115
133
  data.should == {'a' => '10'}
116
134
 
117
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('200')
135
+ data = RAWS::SDB[@domain_name].get('200')
118
136
  data.should == {'a' => ['10', '20'], 'b' => '20'}
119
137
 
120
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('300')
138
+ data = RAWS::SDB[@domain_name].get('300')
121
139
  data.should == {'a' => ['10', '20', '30'], 'b' => '20', 'c' => '30'}
122
140
  end
123
141
 
124
142
  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)
143
+ RAWS::SDB[@domain_name].put('10', 'a' => [1])
144
+ RAWS::SDB[@domain_name].put('10', 'a' => 2)
127
145
 
128
146
  5.times do
129
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('10')
147
+ data = RAWS::SDB[@domain_name].get('10')
130
148
  if data == {'a' => ['1', '2']}
131
149
  data.should == {'a' => ['1', '2']}
132
150
  break;
133
151
  end
134
152
  end
135
153
 
136
- RAWS::SDB[RAWS_SDB_DOMAIN].delete('10')
154
+ RAWS::SDB[@domain_name].delete('10')
137
155
 
138
156
  5.times do
139
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('10')
157
+ data = RAWS::SDB[@domain_name].get('10')
140
158
  unless data
141
159
  data.should be_nil
142
160
  end
@@ -144,41 +162,41 @@ describe RAWS::SDB do
144
162
  end
145
163
 
146
164
  it 'batch_put & delete' do
147
- RAWS::SDB[RAWS_SDB_DOMAIN].batch_put(
165
+ RAWS::SDB[@domain_name].batch_put(
148
166
  "1" => {"a"=>["10"]},
149
167
  "2" => {"a"=>["20"]},
150
168
  "3" => {"a"=>["30"]}
151
169
  )
152
170
 
153
171
  5.times do
154
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('1')
172
+ data = RAWS::SDB[@domain_name].get('1')
155
173
  if data
156
174
  data.should == {'a' => '10'}
157
- RAWS::SDB[RAWS_SDB_DOMAIN].delete('1')
175
+ RAWS::SDB[@domain_name].delete('1')
158
176
  break
159
177
  end
160
178
  end
161
179
 
162
180
  5.times do
163
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('2')
181
+ data = RAWS::SDB[@domain_name].get('2')
164
182
  if data
165
183
  data.should == {'a' => '20'}
166
- RAWS::SDB[RAWS_SDB_DOMAIN].delete('2')
184
+ RAWS::SDB[@domain_name].delete('2')
167
185
  break
168
186
  end
169
187
  end
170
188
 
171
189
  5.times do
172
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('3')
190
+ data = RAWS::SDB[@domain_name].get('3')
173
191
  if data
174
192
  data.should == {'a' => '30'}
175
- RAWS::SDB[RAWS_SDB_DOMAIN].delete('3')
193
+ RAWS::SDB[@domain_name].delete('3')
176
194
  break
177
195
  end
178
196
  end
179
197
 
180
198
  5.times do
181
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('1')
199
+ data = RAWS::SDB[@domain_name].get('1')
182
200
  unless data
183
201
  data.should be_nil
184
202
  break
@@ -186,7 +204,7 @@ describe RAWS::SDB do
186
204
  end
187
205
 
188
206
  5.times do
189
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('2')
207
+ data = RAWS::SDB[@domain_name].get('2')
190
208
  unless data
191
209
  data.should be_nil
192
210
  break
@@ -194,7 +212,7 @@ describe RAWS::SDB do
194
212
  end
195
213
 
196
214
  5.times do
197
- data = RAWS::SDB[RAWS_SDB_DOMAIN].get('3')
215
+ data = RAWS::SDB[@domain_name].get('3')
198
216
  unless data
199
217
  data.should be_nil
200
218
  break
@@ -205,7 +223,8 @@ describe RAWS::SDB do
205
223
 
206
224
  describe 'object' do
207
225
  before do
208
- @sdb = RAWS::SDB[RAWS_SDB_DOMAIN]
226
+ @domain_name = RAWS_SDB_DOMAINS.first
227
+ @sdb = RAWS::SDB[@domain_name]
209
228
  end
210
229
 
211
230
  it 'method' do
@@ -1,7 +1,6 @@
1
1
  require 'spec/spec_config'
2
2
 
3
3
  describe RAWS::SQS do
4
- =begin
5
4
  before :all do
6
5
  begin
7
6
  RAWS::SQS.create_queue(RAWS_SQS_QUEUE)
@@ -29,6 +28,7 @@ describe RAWS::SQS do
29
28
  create_queue
30
29
  delete_queue
31
30
  list
31
+ queues
32
32
  each
33
33
  []
34
34
  get_attrs
@@ -41,7 +41,11 @@ describe RAWS::SQS do
41
41
  end
42
42
 
43
43
  it 'list' do
44
- RAWS::SQS.list.each do |queue|
44
+ RAWS::SQS.list
45
+ end
46
+
47
+ it 'queues' do
48
+ RAWS::SQS.queues.each do |queue|
45
49
  queue.should be_kind_of RAWS::SQS
46
50
  end
47
51
  end
@@ -56,7 +60,7 @@ describe RAWS::SQS do
56
60
  RAWS::SQS[RAWS_SQS_QUEUE].should be_kind_of RAWS::SQS
57
61
  end
58
62
  end
59
- =end
63
+
60
64
  describe 'object' do
61
65
  before do
62
66
  @queue = RAWS::SQS[RAWS_SQS_QUEUE]
@@ -128,7 +132,6 @@ describe RAWS::SQS do
128
132
  end
129
133
 
130
134
  it 'change_message_visibility' do
131
- =begin
132
135
  5.times do |i|
133
136
  p i
134
137
  @queue.receive.each do |msg|
@@ -136,7 +139,6 @@ describe RAWS::SQS do
136
139
  end
137
140
  sleep 5
138
141
  end
139
- =end
140
142
  @queue.send('change message visibility')
141
143
 
142
144
  msg_id, time = nil, nil
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'lib/raws'
3
+
4
+ require 'yaml'
5
+ def d(val)
6
+ puts val.to_yaml
7
+ end
8
+
9
+ RAWS.aws_access_key_id = AWS_ACCESS_KEY_ID
10
+ RAWS.aws_secret_access_key = AWS_SECRET_ACCESS_KEY
11
+
12
+ RAWS_SDB_DOMAIN = AWS_SDB_DOMAIN
13
+ RAWS_SQS_QUEUE = AWS_SQS_QUEUE
14
+ RAWS_S3_BUCKETS = %w'AWS_S3_BUCKET AWS.S3.BUCKET'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jun Kikuchi
@@ -9,9 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-19 00:00:00 +09:00
12
+ date: 2009-11-23 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.9
24
+ version:
15
25
  - !ruby/object:Gem::Dependency
16
26
  name: typhoeus
17
27
  type: :runtime
@@ -59,10 +69,12 @@ executables: []
59
69
  extensions: []
60
70
 
61
71
  extra_rdoc_files:
72
+ - LICENSE
62
73
  - README.rdoc
63
74
  files:
75
+ - .gitignore
64
76
  - CHANGELOG
65
- - COPYING
77
+ - LICENSE
66
78
  - README.rdoc
67
79
  - Rakefile
68
80
  - VERSION
@@ -72,8 +84,8 @@ files:
72
84
  - lib/raws/http/typhoeus.rb
73
85
  - lib/raws/s3.rb
74
86
  - lib/raws/s3/adapter.rb
87
+ - lib/raws/s3/metadata.rb
75
88
  - lib/raws/s3/model.rb
76
- - lib/raws/s3/s3object.rb
77
89
  - lib/raws/sdb.rb
78
90
  - lib/raws/sdb/adapter.rb
79
91
  - lib/raws/sdb/model.rb
@@ -82,6 +94,16 @@ files:
82
94
  - lib/raws/sqs/adapter.rb
83
95
  - lib/raws/xml.rb
84
96
  - lib/raws/xml/nokogiri.rb
97
+ - raws.gemspec
98
+ - spec/raws/s3/model_spec.rb
99
+ - spec/raws/s3_spec.rb
100
+ - spec/raws/sdb/model_spec.rb
101
+ - spec/raws/sdb_spec.rb
102
+ - spec/raws/sqs_spec.rb
103
+ - spec/raws_spec.rb
104
+ - spec/spec.opts
105
+ - spec/spec_config.rb.example
106
+ - spec/spec_helper.rb
85
107
  has_rdoc: true
86
108
  homepage: http://github.com/JunKikuchi/raws
87
109
  licenses: []
@@ -111,6 +133,7 @@ signing_key:
111
133
  specification_version: 3
112
134
  summary: raws
113
135
  test_files:
136
+ - spec/raws/s3/model_spec.rb
114
137
  - spec/raws/s3_spec.rb
115
138
  - spec/raws/sdb/model_spec.rb
116
139
  - spec/raws/sdb_spec.rb
data/COPYING DELETED
@@ -1,18 +0,0 @@
1
- Copyright (c) 2009 Jun Kikuchi
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to
5
- deal in the Software without restriction, including without limitation the
6
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- sell copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in
11
- all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16
- THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,3 +0,0 @@
1
- class RAWS::S3::S3Object
2
- include ::RAWS::S3::Model
3
- end