amaze_sns 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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