amaze_sns 2.0.0 → 2.1.0

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/lib/amaze_sns.rb CHANGED
@@ -70,8 +70,8 @@ class AmazeSNS
70
70
  yield data
71
71
  end
72
72
 
73
- request.errback do |resp|
74
- puts "ERROR - #{resp.inspect}"
73
+ request.errback do |err|
74
+ #yield err
75
75
  EM.stop
76
76
  end
77
77
 
@@ -1,13 +1,11 @@
1
- #require File.dirname(__FILE__) + '/spec_helper.rb'
2
- require File.expand_path('../spec_helper', __FILE__)
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
3
2
 
4
- require 'em-http'
5
3
 
6
4
  describe AmazeSNS do
5
+
7
6
  before :each do
8
- EventMachine::MockHttpRequest.reset_registry!
9
- EventMachine::MockHttpRequest.reset_counts!
10
- EventMachine::MockHttpRequest.pass_through_requests = false
7
+ WebMock.reset!
8
+ WebMock.disable_net_connect!
11
9
  end
12
10
 
13
11
 
@@ -54,7 +52,7 @@ describe AmazeSNS do
54
52
  AmazeSNS.skey = '123456'
55
53
  @topic = AmazeSNS['Test']
56
54
  end
57
-
55
+
58
56
  it 'should return a new topic object' do
59
57
  @topic.should be_kind_of(Topic)
60
58
  @topic.topic.should == 'Test'
@@ -63,115 +61,117 @@ describe AmazeSNS do
63
61
 
64
62
  describe 'making the api calls' do
65
63
  before :each do
66
- @url = 'http://sns.us-east-1.amazonaws.com:80/?Action=ListTopics&Signature=ItTAjeexIPC43pHMZLCL7utnpK8j8AbTUZ3KGUSMzNc%3D&AWSAccessKeyId=123456&Timestamp=123&SignatureVersion=2&SignatureMethod=HmacSHA256'
67
- EventMachine::MockHttpRequest.reset_registry!
68
- EventMachine::MockHttpRequest.reset_counts!
69
- EventMachine::MockHttpRequest.pass_through_requests = false #set to false to not hit the actual API endpoint
70
-
71
- @time_stub = stub("A")
64
+ AmazeSNS.akey = '123456'
65
+ AmazeSNS.skey = '123456'
72
66
  end
73
67
 
74
- it 'should be able to access the API endpoint' do
75
- @time_stub.should_receive(:iso8601).and_return(123)
76
- Time.stub(:now).and_return(@time_stub)
77
-
78
- EventMachine::MockHttpRequest.use {
79
- data = <<-RESPONSE.gsub(/^ +/, '')
80
- HTTP/1.0 200 OK
81
- Date: Mon, 16 Nov 2009 20:39:15 GMT
82
- Expires: -1
83
- Cache-Control: private, max-age=0
84
- Content-Type: text/html; charset=ISO-8859-1
85
- Via: 1.0 .:80 (squid)
86
- Connection: close
87
-
88
- This is my awesome content
89
- RESPONSE
90
-
91
- EventMachine::MockHttpRequest.register(@url,:get,{},data)
92
-
93
- EM.run{
94
- d = AmazeSNS.list_topics
95
- d.callback{
96
- EM::HttpRequest.count(@url, :get).should == 1
97
- EM.stop
98
- }
99
- d.errback{|error|
100
- EM.stop
101
- }
102
- }
68
+ it 'should be able to list topics' do
69
+ @data = <<-RESPONSE.gsub(/^ +/, '')
70
+ <ListTopicsResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
71
+ <ListTopicsResult>
72
+ <Topics>
73
+ <member>
74
+ <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>
75
+ </member>
76
+ </Topics>
77
+ </ListTopicsResult>
78
+ <ResponseMetadata>
79
+ <RequestId>3f1478c7-33a9-11df-9540-99d0768312d3</RequestId>
80
+ </ResponseMetadata>
81
+ </ListTopicsResponse>
82
+ RESPONSE
103
83
 
104
- } #end EM:MockHttpRequest block
105
- end
106
-
107
- it 'should return a deferrable on fail' do
108
- @time_stub.should_receive(:iso8601).and_return(123)
109
- Time.stub(:now).and_return(@time_stub)
84
+ @regexp = %r{/?Action=ListTopics}
110
85
 
111
- EventMachine::MockHttpRequest.use {
112
- data = <<-RESPONSE.gsub(/^ +/, '')
113
- HTTP/1.0 403 Unauthorized
114
- Date: Mon, 16 Nov 2009 20:39:15 GMT
115
- Expires: -1
116
- Cache-Control: private, max-age=0
117
- Content-Type: text/html; charset=ISO-8859-1
118
- Via: 1.0 .:80 (squid)
119
- Connection: close
120
-
121
- 403 UNAUTHORIZED: Some error
122
- RESPONSE
123
-
124
- EventMachine::MockHttpRequest.register(@url,:get,{},data)
125
-
126
- EM.run{
127
- d= AmazeSNS.list_topics
128
- d.callback{
129
- fail
130
- }
131
- d.errback{|error|
132
- EM::HttpRequest.count(@url, :get).should == 1
133
- error.should be_kind_of(AuthorizationError)
134
- EM.stop
135
- }
136
-
137
- }
138
-
139
- } #end EM:MockHttpRequest block
86
+ stub_http_request(:get, @regexp).to_return(:body => @data,
87
+ :status => 200,
88
+ :headers => {
89
+ 'Content-Type' => 'text/xml',
90
+ 'Connection' => 'close'
91
+ })
92
+
93
+ AmazeSNS.should respond_to(:method_missing)
94
+ AmazeSNS.should respond_to(:process_query).with(1).argument
95
+
96
+ EM.run_block{
97
+ AmazeSNS.list_topics do |x|
98
+ AmazeSNS.process_data(x)
99
+ end
100
+ }
101
+
102
+ AmazeSNS.topics.has_key?('My-Topic').should == true
103
+ AmazeSNS['My-Topic'].should be_instance_of Topic
104
+ AmazeSNS['My-Topic'].topic.should == 'My-Topic'
105
+ AmazeSNS['My-Topic'].arn.should == 'arn:aws:sns:us-east-1:123456789012:My-Topic'
106
+ WebMock.should have_requested(:get, %r{http://sns.us-east-1.amazonaws.com:80})
140
107
  end
141
108
 
142
- it 'should call method_missing and process_query' do
143
- @time_stub.should_receive(:iso8601).and_return(123)
144
- Time.stub(:now).and_return(@time_stub)
109
+ it 'should be able to list subscriptions' do
110
+ @data = <<-RESPONSE.gsub(/^ +/, '')
111
+ <ListSubscriptionsResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
112
+ <ListSubscriptionsResult>
113
+ <Subscriptions>
114
+ <member>
115
+ <TopicArn>arn:aws:sns:us-east-1:698519295917:My-Topic</TopicArn>
116
+ <Protocol>email</Protocol>
117
+ <SubscriptionArn>arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6- 0fd4-4079-afb4-ce8c8260f0ca</SubscriptionArn>
118
+ <Owner>123456789012</Owner>
119
+ <Endpoint>example@amazon.com</Endpoint>
120
+ </member>
121
+ </Subscriptions>
122
+ </ListSubscriptionsResult>
123
+ <ResponseMetadata>
124
+ <RequestId>384ac68d-3775-11df-8963-01868b7c937a</RequestId>
125
+ </ResponseMetadata>
126
+ </ListSubscriptionsResponse>
127
+ RESPONSE
128
+
129
+ @regexp = %r{/?Action=ListSubscriptions}
130
+
131
+ stub_http_request(:get, @regexp).to_return(:body => @data,
132
+ :status => 200,
133
+ :headers => {
134
+ 'Content-Type' => 'text/xml',
135
+ 'Connection' => 'close'
136
+ })
145
137
 
146
- #rspec expectations matchers
147
138
  AmazeSNS.should respond_to(:method_missing)
148
139
  AmazeSNS.should respond_to(:process_query).with(1).argument
149
140
 
150
- data = <<-RESPONSE.gsub(/^ +/, '')
151
- HTTP/1.0 200 OK
152
- Date: Mon, 16 Nov 2009 20:39:15 GMT
153
- Expires: -1
154
- Cache-Control: private, max-age=0
155
- Content-Type: text/html; charset=ISO-8859-1
156
- Via: 1.0 .:80 (squid)
157
- Connection: close
158
-
159
- This is my awesome content
160
- RESPONSE
161
-
162
- EventMachine::MockHttpRequest.use{
163
- EventMachine::MockHttpRequest.register(@url,:get,{},data)
164
-
165
- EM.run{
166
- AmazeSNS.list_topics
167
- EM.stop
168
- }
169
-
170
- } #end EM:MockHttpRequest block
141
+ EM.run_block{
142
+ AmazeSNS.list_subscriptions do |x|
143
+ AmazeSNS.process_data(x)
144
+ @subs = AmazeSNS.subscriptions
145
+ end
146
+ }
147
+
148
+ @subs['My-Topic'].should be_instance_of Subscription
149
+ @subs['My-Topic'].owner.should == '123456789012'
150
+ @subs['My-Topic'].protocol.should == 'email'
151
+ @subs['My-Topic'].topicarn.should == 'arn:aws:sns:us-east-1:698519295917:My-Topic'
152
+ @subs['My-Topic'].endpoint.should == 'example@amazon.com'
153
+ @subs['My-Topic'].subarn.should == 'arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6- 0fd4-4079-afb4-ce8c8260f0ca'
154
+ WebMock.should have_requested(:get, %r{http://sns.us-east-1.amazonaws.com:80})
171
155
  end
172
156
 
157
+ it 'should respond with an error' do
158
+ @regexp = %r{/?Action=ListSubscriptions}
159
+ stub_http_request(:get, @regexp).to_return(:status => [500, "Internal Server Error"])
160
+ error_raised = nil
161
+ begin
162
+ EM.run{
163
+ AmazeSNS.list_subscriptions {|x| }
164
+ }
165
+ rescue => e
166
+ error_raised = e
167
+ end
168
+
169
+ e.class.should == InternalError
170
+ e.message.should == 'An internal service error has occured on the Simple Notification Service'
171
+ end
173
172
 
174
- end
173
+ end# end api tests
174
+
175
175
 
176
176
  after do
177
177
  AmazeSNS.topics={}
data/spec/request_spec.rb CHANGED
@@ -0,0 +1,69 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe Request do
4
+ before :each do
5
+ AmazeSNS.akey = '123456'
6
+ AmazeSNS.skey = '123456'
7
+
8
+ params={
9
+ 'Action' => "ListTopics",
10
+ 'SignatureMethod' => 'HmacSHA256',
11
+ 'SignatureVersion' => 2,
12
+ 'Timestamp' => Time.now.iso8601, #Time.now.iso8601 makes tests fail
13
+ 'AWSAccessKeyId' => AmazeSNS.akey
14
+ }
15
+
16
+ @data = <<-RESPONSE.gsub(/^ +/, '')
17
+ <ListTopicsResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
18
+ <ListTopicsResult>
19
+ <Topics>
20
+ <member>
21
+ <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>
22
+ </member>
23
+ </Topics>
24
+ </ListTopicsResult>
25
+ <ResponseMetadata>
26
+ <RequestId>3f1478c7-33a9-11df-9540-99d0768312d3</RequestId>
27
+ </ResponseMetadata>
28
+ </ListTopicsResponse>
29
+ RESPONSE
30
+
31
+ @request = Request.new(params)
32
+ end
33
+
34
+ it 'should make a request successfully' do
35
+ @regexp = %r{/?Action=ListTopics}
36
+ stub_http_request(:get, @regexp).to_return(:body => @data,
37
+ :status => 200,
38
+ :headers => {
39
+ 'Content-Type' => 'text/xml',
40
+ 'Connection' => 'close'
41
+ })
42
+
43
+ EM.run_block{
44
+ @request.process
45
+ @request.callback{|data|
46
+ data.response.should == @data
47
+ }
48
+ }
49
+ WebMock.should have_requested(:get, %r{http://sns.us-east-1.amazonaws.com:80})
50
+ end
51
+
52
+ it 'should throw an error if the request is not successful' do
53
+ error_raised = nil
54
+ @regexp = %r{/?Action=ListTopics}
55
+ stub_http_request(:get, @regexp).to_return(:status => [500, "Internal Server Error"])
56
+
57
+ begin
58
+ EM.run_block{
59
+ @request.process
60
+ }
61
+ rescue => e
62
+ error_raised = e
63
+ end
64
+
65
+ e.class.should == InternalError
66
+ e.message.should == 'An internal service error has occured on the Simple Notification Service'
67
+ end
68
+
69
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,28 +2,16 @@ require 'rubygems'
2
2
 
3
3
  require 'rspec'
4
4
  require 'rspec/autorun'
5
- require 'em-http'
6
- require 'webmock'
5
+ require 'em-http-request'
7
6
  require 'webmock/rspec'
8
- require 'vcr'
9
7
 
10
8
  $LOAD_PATH.unshift(File.dirname(__FILE__))
11
9
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
12
10
 
13
11
  require 'amaze_sns'
14
12
  require 'eventmachine'
15
- #require 'support/vcr'
16
13
 
17
- VCR.config do |c|
18
- c.cassette_library_dir = 'fixtures/cassette_library'
19
- c.stub_with :webmock
20
- c.ignore_localhost = true
21
- c.default_cassette_options = { :record => :none }
22
- end
23
14
 
24
15
  RSpec.configure do |config|
25
- config.include WebMock::API
26
- config.extend VCR::RSpec::Macros
27
-
28
16
  end
29
17
 
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe Subscription do
4
+ before :each do
5
+ hsh = {
6
+ "Owner" => '123456789012',
7
+ "Protocol" => 'email',
8
+ "TopicArn" => 'arn:aws:sns:us-east-1:698519295917:My-Topic',
9
+ "Endpoint" => 'example@amazon.com',
10
+ "SubscriptionArn" => 'arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6- 0fd4-4079-afb4-ce8c8260f0ca'
11
+ }
12
+ @subscription = Subscription.new(hsh)
13
+ end
14
+
15
+ it 'should be an instance of subscription' do
16
+ @subscription.should be_instance_of Subscription
17
+ end
18
+
19
+ it 'should have attributes that are accessible' do
20
+ @subscription.owner.should == '123456789012'
21
+ @subscription.protocol.should == 'email'
22
+ @subscription.topicarn.should == 'arn:aws:sns:us-east-1:698519295917:My-Topic'
23
+ @subscription.endpoint.should == 'example@amazon.com'
24
+ @subscription.subarn.should == 'arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6- 0fd4-4079-afb4-ce8c8260f0ca'
25
+ end
26
+
27
+ end
data/spec/topic_spec.rb CHANGED
@@ -77,68 +77,7 @@ describe Topic do
77
77
  @arn.should == "arn:aws:sns:us-east-1:365155214602:MyTopic"
78
78
  WebMock.should have_requested(:get, %r{http://sns.us-east-1.amazonaws.com:80})
79
79
  end
80
-
81
- it 'should return a deferrable' do
82
- t = Topic.new('MyTopic')
83
-
84
- @time_stub.should_receive(:iso8601).and_return(123)
85
- Time.stub(:now).and_return(@time_stub)
86
-
87
- stub_http_request(:get, @regexp).to_return(:body => @data, :status => 200)
88
-
89
- params = {
90
- 'Name' => "MyTopic",
91
- 'Action' => 'CreateTopic',
92
- 'SignatureMethod' => 'HmacSHA256',
93
- 'SignatureVersion' => 2,
94
- 'Timestamp' => Time.now.iso8601,
95
- 'AWSAccessKeyId' => AmazeSNS.akey
96
- }
97
-
98
- EM.run{
99
- d = t.generate_request(params)
100
- d.callback{
101
- WebMock.should have_requested(:get, @regexp)
102
- EM.stop
103
- }
104
- d.errback{
105
- fail
106
- EM.stop
107
- }
108
- }
109
- end
110
-
111
- it 'should return a deferrable which fails if exception occurs' do
112
- t = Topic.new('MyTopic')
113
-
114
- @time_stub.should_receive(:iso8601).and_return(123)
115
- Time.stub(:now).and_return(@time_stub)
116
- AmazeSNS.akey = ''
117
-
118
- stub_http_request(:get, @regexp).to_return(:body => @data, :status => 403)
119
-
120
- params = {
121
- 'Name' => "MyTopic",
122
- 'Action' => 'CreateTopic',
123
- 'SignatureMethod' => 'HmacSHA256',
124
- 'SignatureVersion' => 2,
125
- 'Timestamp' => Time.now.iso8601,
126
- 'AWSAccessKeyId' => AmazeSNS.akey
127
- }
128
-
129
- EM.run{
130
- d = t.generate_request(params)
131
- d.callback{
132
- fail
133
- }
134
- d.errback{|error|
135
- WebMock.should have_requested(:get, @regexp)
136
- error.should be_kind_of(AuthorizationError)
137
- EM.stop
138
- }
139
- }
140
- end
141
-
80
+
142
81
  end
143
82
 
144
83
  describe 'operations through the API' do
@@ -151,61 +90,6 @@ describe Topic do
151
90
  WebMock.disable_net_connect!
152
91
  end
153
92
 
154
- context 'listing topics' do
155
-
156
- before :each do
157
- # store the request and response in webmock's own blocks for comparisons
158
- WebMock.after_request do |request, response|
159
- @response = response
160
- @request = request
161
- end
162
-
163
- @list_data = <<-RESPONSE.gsub(/^ +/, '')
164
- <ListTopicsResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
165
- <ListTopicsResult>
166
- <Topics>
167
- <member>
168
- <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>
169
- </member>
170
- </Topics>
171
- </ListTopicsResult>
172
- <ResponseMetadata>
173
- <RequestId>3f1478c7-33a9-11df-9540-99d0768312d3</RequestId>
174
- </ResponseMetadata>
175
- </ListTopicsResponse>
176
- RESPONSE
177
-
178
- @regexp = %r{/?Action=ListTopics}
179
- end
180
-
181
- use_vcr_cassette "topic/list", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
182
-
183
- it 'should be able to get the data through the api' do
184
- @time_stub.should_receive(:iso8601).and_return(123)
185
- Time.stub(:now).and_return(@time_stub)
186
-
187
- stub_http_request(:get, @regexp).to_return(:body => @list_data,
188
- :status => 200,
189
- :headers => {'Content-Type' => 'text/xml', 'Connection' => 'close'})
190
-
191
- EM.run{
192
- AmazeSNS.list_topics
193
- EM.stop
194
- }
195
-
196
- WebMock.should have_requested(:get, %r{/?Action=ListTopics}).once
197
- WebMock.should have_requested(:get, %r{http://sns.us-east-1.amazonaws.com:80}).once
198
-
199
- @request.to_s.split(" ")[1].should == "http://sns.us-east-1.amazonaws.com/?AWSAccessKeyId=123456&Action=ListTopics&Signature=ItTAjeexIPC43pHMZLCL7utnpK8j8AbTUZ3KGUSMzNc=&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=123"
200
- @response.body.should == @list_data
201
- @response.headers["Content-Type"].should == "text/xml"
202
- end
203
-
204
- it 'should populate the topics hash' do
205
- AmazeSNS.topics.has_key?("My-Topic").should be_true
206
- end
207
-
208
- end # end list topic spec
209
93
 
210
94
  context 'creating a topic' do
211
95
  before :each do
@@ -224,7 +108,6 @@ describe Topic do
224
108
  @regexp = %r{/?Action=CreateTopic&Name=MyTopic}
225
109
  end
226
110
 
227
- use_vcr_cassette "topic/create", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
228
111
 
229
112
  it 'should send data to the API' do
230
113
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -286,7 +169,6 @@ describe Topic do
286
169
  @regexp = %r{/?Action=GetTopicAttributes}
287
170
  end
288
171
 
289
- use_vcr_cassette "topic/attrs", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
290
172
 
291
173
  it 'should make the API call' do
292
174
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -334,7 +216,6 @@ describe Topic do
334
216
  @regexp = %r{/?Action=Subscribe}
335
217
  end
336
218
 
337
- use_vcr_cassette "topic/subscribe", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
338
219
 
339
220
  it 'should recive a pending confirmation on subscription' do
340
221
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -364,7 +245,6 @@ describe Topic do
364
245
  @regexp = %r{/?Action=SetTopicAttributes}
365
246
  end
366
247
 
367
- use_vcr_cassette "topic/set_attrs", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
368
248
 
369
249
  it 'should set the topics attrs' do
370
250
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -409,7 +289,6 @@ describe Topic do
409
289
  @regexp = %r{/?Action=ListSubscriptionsByTopic}
410
290
  end
411
291
 
412
- use_vcr_cassette "topic/subscriptions", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
413
292
 
414
293
  it 'should list the subscriptions for this topic' do
415
294
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -452,7 +331,6 @@ describe Topic do
452
331
  @regexp = %r{/?Action=Unsubscribe}
453
332
  end
454
333
 
455
- use_vcr_cassette "topic/unsubscribe", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
456
334
 
457
335
  it 'should be able to remove the subscriber' do
458
336
  @time_stub.should_receive(:iso8601).and_return(123)
@@ -484,7 +362,6 @@ describe Topic do
484
362
  @regexp = %r{/?Action=DeleteTopic}
485
363
  end
486
364
 
487
- use_vcr_cassette "topic/delete", {:record => :new_episodes, :match_requests_on => [:uri,:method,:body]}
488
365
 
489
366
  it 'should send data to the API' do
490
367
  @time_stub.should_receive(:iso8601).and_return(123)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: amaze_sns
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.0.0
5
+ version: 2.1.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chee Yeo
@@ -11,8 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-07-28 00:00:00 +01:00
15
- default_executable:
14
+ date: 2011-09-11 00:00:00 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: eventmachine
@@ -86,9 +85,9 @@ dependencies:
86
85
  requirement: &id007 !ruby/object:Gem::Requirement
87
86
  none: false
88
87
  requirements:
89
- - - ~>
88
+ - - "="
90
89
  - !ruby/object:Gem::Version
91
- version: 1.6.0.pre
90
+ version: 1.7.6
92
91
  type: :development
93
92
  version_requirements: *id007
94
93
  description: Ruby gem to interface with the Amazon Simple Notification Service
@@ -110,17 +109,16 @@ files:
110
109
  - spec/amaze_sns_spec.rb
111
110
  - spec/em_http_request_spec_helper.rb
112
111
  - spec/request_spec.rb
112
+ - spec/spec.opts
113
113
  - spec/spec_helper.rb
114
114
  - spec/subscription_spec.rb
115
115
  - spec/topic_spec.rb
116
- - spec/spec.opts
117
- has_rdoc: true
118
116
  homepage: http://29steps.co.uk
119
117
  licenses: []
120
118
 
121
119
  post_install_message:
122
- rdoc_options:
123
- - --charset=UTF-8
120
+ rdoc_options: []
121
+
124
122
  require_paths:
125
123
  - lib
126
124
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -138,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
136
  requirements: []
139
137
 
140
138
  rubyforge_project:
141
- rubygems_version: 1.5.2
139
+ rubygems_version: 1.8.7
142
140
  signing_key:
143
141
  specification_version: 3
144
142
  summary: Ruby gem for Amazon Simple Notification Service SNS
@@ -146,7 +144,7 @@ test_files:
146
144
  - spec/amaze_sns_spec.rb
147
145
  - spec/em_http_request_spec_helper.rb
148
146
  - spec/request_spec.rb
147
+ - spec/spec.opts
149
148
  - spec/spec_helper.rb
150
149
  - spec/subscription_spec.rb
151
150
  - spec/topic_spec.rb
152
- - spec/spec.opts