messagebus_ruby_api 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Messagebus Ruby API
1
+ = Message Bus Ruby API
2
2
 
3
3
  == Installation
4
4
 
@@ -24,8 +24,8 @@
24
24
  :fromName => 'API',
25
25
  :subject => 'Unit Test Message',
26
26
  :customHeaders => ["sender"=>"apitest1@messagebus.com"],
27
- :plaintextBody => 'This message is only a test sent by the Ruby MessageBus client library.',
28
- :htmlBody => "<html><body>This message is only a test sent by the Ruby MessageBus client library.</body></html>",
27
+ :plaintextBody => 'This message is only a test sent by the Ruby Message Bus client library.',
28
+ :htmlBody => "<html><body>This message is only a test sent by the Ruby Message Bus client library.</body></html>",
29
29
  :tags => ['RUBY']
30
30
  }
31
31
 
@@ -53,13 +53,22 @@
53
53
 
54
54
  http://curl.haxx.se/ca/cacert.pem
55
55
 
56
- == Older Versions
57
-
58
- If you are using the old api with the text OK:<UUID> responses, please be sure to get the 'v1' branch
59
- If you are using the old api with the 'body' parameter (instead of the new 'plaintextBody' and 'htmlBody' parameters), please be sure to get the 'v0' branch
60
-
61
56
  == Tests
62
57
  To run the tests, issue the following command from the root of the project:
63
58
  bundle exec rspec spec/messagebus_ruby_api/client_spec.rb
59
+
60
+ == License
61
+ Copyright 2012 Mail Bypass, Inc.
62
+
63
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
64
+ except in compliance with the License. You may obtain a copy of the License at
65
+
66
+ http://www.apache.org/licenses/LICENSE-2.0
67
+
68
+ Unless required by applicable law or agreed to in writing, software distributed under the
69
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
70
+ either express or implied. See the License for the specific language governing permissions
71
+ and limitations under the License.
72
+
64
73
  == More info
65
- Contact MessageBus if you have questions or problems (https://www.messagebus.com/contact)
74
+ Contact Message Bus if you have questions or problems (https://www.messagebus.com/contact)
@@ -1,10 +1,16 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  module MessagebusApi
10
16
 
@@ -28,4 +34,4 @@ module MessagebusApi
28
34
  end
29
35
  end
30
36
 
31
- end
37
+ end
@@ -1,14 +1,19 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  module MessagebusApi
10
16
  DEFAULT_API_ENDPOINT_STRING = 'https://api.messagebus.com'
11
-
12
17
  class Messagebus
13
18
  TEMPLATE = 'template'
14
19
  EMAIL= 'email'
@@ -17,8 +22,7 @@ module MessagebusApi
17
22
 
18
23
  def initialize(api_key)
19
24
  @api_key = api_key
20
-
21
- @http = http_connection(DEFAULT_API_ENDPOINT_STRING)
25
+ init_http_connection
22
26
  @user_agent = "MessagebusAPI:#{MessagebusApi::VERSION}-Ruby:#{RUBY_VERSION}"
23
27
 
24
28
  @msg_buffer_size = 20
@@ -78,6 +82,9 @@ module MessagebusApi
78
82
  end
79
83
 
80
84
  json = json_message_from_list(@msg_buffer)
85
+ if (@last_init_time < Time.now.utc - 60)
86
+ init_http_connection
87
+ end
81
88
  @results=make_api_post_call(endpoint, json)
82
89
  @msg_buffer.clear
83
90
  @msg_buffer_flushed = true
@@ -108,25 +115,19 @@ module MessagebusApi
108
115
  end
109
116
 
110
117
  def unsubscribes(start_date = '', end_date = '')
111
- end_date = set_date(end_date, 0)
112
- start_date = set_date(start_date, 7)
113
118
  path = "#{@rest_endpoints[:unsubscribes]}?#{date_range(start_date, end_date)}"
114
119
  @results = make_api_get_call(path)
115
120
  @results
116
121
  end
117
122
 
118
- def delivery_errors(start_date = '', end_date = '')
119
- end_date = set_date(end_date, 0)
120
- start_date = set_date(start_date, 1)
121
- path = "#{@rest_endpoints[:delivery_errors]}?#{date_range(start_date, end_date)}"
123
+ def delivery_errors(start_date = '', end_date = '', tag='')
124
+ path = "#{@rest_endpoints[:delivery_errors]}?#{date_range(start_date, end_date)}&tag=#{URI.escape(tag)}"
122
125
  @results = make_api_get_call(path)
123
126
  @results
124
127
  end
125
128
 
126
129
  def stats(start_date = '', end_date = '', tag = '')
127
- end_date = set_date(end_date, 0)
128
- start_date = set_date(start_date, 30)
129
- path = "#{@rest_endpoints[:stats]}?#{date_range(start_date, end_date)}&tag=#{tag}"
130
+ path = "#{@rest_endpoints[:stats]}?#{date_range(start_date, end_date)}&tag=#{URI.escape(tag)}"
130
131
  @results = make_api_get_call(path)
131
132
  @results
132
133
  end
@@ -139,13 +140,21 @@ module MessagebusApi
139
140
  @http.ca_file = File.join(cert_file)
140
141
  end
141
142
 
143
+ def format_iso_time(time)
144
+ time.strftime("%Y-%m-%dT%H:%M:%SZ")
145
+ end
146
+
142
147
  private
143
148
 
144
- def http_connection(endpoint_url_string)
145
- endpoint_url = URI.parse(endpoint_url_string)
146
- http = Net::HTTP.new(endpoint_url.host, endpoint_url.port)
147
- http.use_ssl = true
148
- http
149
+ def init_http_connection(target_server=DEFAULT_API_ENDPOINT_STRING)
150
+ if (@http and @http.started?)
151
+ @http.finish
152
+ end
153
+ @last_init_time = Time.now.utc
154
+ endpoint_url = URI.parse(target_server)
155
+ @http = Net::HTTP.new(endpoint_url.host, endpoint_url.port)
156
+ @http.use_ssl = true
157
+ @http
149
158
  end
150
159
 
151
160
  def common_http_headers
@@ -168,7 +177,17 @@ module MessagebusApi
168
177
  end
169
178
 
170
179
  def date_range(start_date, end_date)
171
- "startDate=#{start_date}&endDate=#{end_date}"
180
+ date_range_str=""
181
+ if (start_date!="")
182
+ date_range_str+="startDate=#{start_date}"
183
+ end
184
+ if (end_date!="")
185
+ if (date_range_str!="")
186
+ date_range_str+="&"
187
+ end
188
+ date_range_str+="endDate=#{end_date}"
189
+ end
190
+ date_range_str
172
191
  end
173
192
 
174
193
  def set_date(date_string, days_ago)
@@ -179,7 +198,7 @@ module MessagebusApi
179
198
  end
180
199
 
181
200
  def date_str_for_time_range(days_ago)
182
- (Time.now.utc - (days_ago*86400)).strftime("%Y-%m-%d")
201
+ format_iso_time(Time.now.utc - (days_ago*86400))
183
202
  end
184
203
 
185
204
  def json_message_from_list(messages)
@@ -289,7 +308,7 @@ module MessagebusApi
289
308
  :plaintextBody => '',
290
309
  :htmlBody => '',
291
310
  :customHeaders => {},
292
- :tags => [] }
311
+ :tags => []}
293
312
  end
294
313
 
295
314
  def base_template_params
@@ -297,7 +316,7 @@ module MessagebusApi
297
316
  :toName => '',
298
317
  :templateKey => '',
299
318
  :mergeFields => {},
300
- :customHeaders => {} }
319
+ :customHeaders => {}}
301
320
  end
302
321
 
303
322
  end
@@ -1,11 +1,17 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  module MessagebusApi
10
- VERSION = "1.0.1"
16
+ VERSION = "1.0.3"
11
17
  end
@@ -1,10 +1,16 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  dir = File.dirname(__FILE__)
10
16
 
@@ -14,4 +20,4 @@ require 'cgi'
14
20
 
15
21
  require "#{dir}/messagebus_ruby_api/errors"
16
22
  require "#{dir}/messagebus_ruby_api/messagebus"
17
- require "#{dir}/messagebus_ruby_api/version"
23
+ require "#{dir}/messagebus_ruby_api/version"
@@ -1,36 +1,46 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  dir = File.dirname(__FILE__)
10
16
  require "#{dir}/../spec_helper"
11
17
 
18
+ class MessagebusTest < MessagebusApi::Messagebus
19
+ attr_accessor :last_init_time
20
+ end
21
+
12
22
  describe MessagebusApi::Messagebus do
13
23
  attr_reader :client, :api_key, :required_params
14
24
 
15
25
  def default_message_params
16
- { :toEmail => 'apitest1@messagebus.com',
17
- :toName => 'EmailUser',
18
- :fromEmail => 'api@messagebus.com',
19
- :fromName => 'API',
20
- :subject => 'Unit Test Message',
21
- :customHeaders => ["sender"=>"apitest1@messagebus.com"],
22
- :plaintextBody => 'This message is only a test sent by the Ruby MessageBus client library.',
23
- :htmlBody => "<html><body>This message is only a test sent by the Ruby MessageBus client library.</body></html>",
24
- :tags => ['RUBY', 'Unit Test Ruby']
26
+ {:toEmail => 'apitest1@messagebus.com',
27
+ :toName => 'EmailUser',
28
+ :fromEmail => 'api@messagebus.com',
29
+ :fromName => 'API',
30
+ :subject => 'Unit Test Message',
31
+ :customHeaders => ["sender"=>"apitest1@messagebus.com"],
32
+ :plaintextBody => 'This message is only a test sent by the Ruby Message Bus client library.',
33
+ :htmlBody => "<html><body>This message is only a test sent by the Ruby Message Bus client library.</body></html>",
34
+ :tags => ['RUBY', 'Unit Test Ruby']
25
35
  }
26
36
  end
27
37
 
28
38
  def default_template_message_params
29
- { :toEmail => 'apitest1@messagebus.com',
30
- :toName => 'John Smith',
31
- :templateKey => '66f6181bcb4cff4cd38fbc804a036db6',
32
- :customHeaders => ["reply-to"=>"apitest1@messagebus.com"],
33
- :mergeFields => ["%NAME%" => "John"]
39
+ {:toEmail => 'apitest1@messagebus.com',
40
+ :toName => 'John Smith',
41
+ :templateKey => '66f6181bcb4cff4cd38fbc804a036db6',
42
+ :customHeaders => ["reply-to"=>"apitest1@messagebus.com"],
43
+ :mergeFields => ["%NAME%" => "John"]
34
44
  }
35
45
  end
36
46
 
@@ -39,7 +49,7 @@ describe MessagebusApi::Messagebus do
39
49
  num_result.times do
40
50
  list << @success_message
41
51
  end
42
-
52
+
43
53
  success_result = {
44
54
  "statusMessage" => "OK",
45
55
  "successCount" => num_result,
@@ -51,21 +61,21 @@ describe MessagebusApi::Messagebus do
51
61
 
52
62
  def create_results_array
53
63
  results = {
54
- "statusMessage" => "OK",
55
- "results" => []
64
+ "statusMessage" => "OK",
65
+ "results" => []
56
66
  }
57
67
  results
58
68
  end
59
69
 
60
70
  def json_parse(data)
61
- JSON.parse(data, :symbolize_names => true)
71
+ JSON.parse(data, :symbolize_names => true)
62
72
  end
63
73
 
64
74
  before do
65
75
  FakeWeb.allow_net_connect = false
66
76
 
67
77
  @api_key = "7215ee9c7d9dc229d2921a40e899ec5f"
68
- @client = MessagebusApi::Messagebus.new(@api_key)
78
+ @client = MessagebusTest.new(@api_key)
69
79
  @success_message={
70
80
  "status" => 200,
71
81
  "messageId" => "abcdefghijklmnopqrstuvwxyz012345"
@@ -159,6 +169,29 @@ describe MessagebusApi::Messagebus do
159
169
  client.flushed?.should be_true
160
170
  client.results[:results].size.should == message_count
161
171
  end
172
+
173
+ it "doesnt reset connection if under a minute old" do
174
+ current_init_time=client.last_init_time
175
+ current_init_time.should be > Time.now.utc-5
176
+ FakeWeb.register_uri(:post, "https://api.messagebus.com/api/v3/emails/send", :body => create_success_result(1).to_json)
177
+ client.add_message(default_message_params)
178
+ client.flush
179
+ client.flushed?.should be_true
180
+ client.results[:results].size.should == 1
181
+ client.last_init_time.should == current_init_time
182
+ end
183
+
184
+ it "resets connection if over a minute old" do
185
+ client.last_init_time=Time.now.utc-60
186
+ current_init_time=client.last_init_time
187
+ current_init_time.should be < Time.now.utc-59
188
+ FakeWeb.register_uri(:post, "https://api.messagebus.com/api/v3/emails/send", :body => create_success_result(1).to_json)
189
+ client.add_message(default_message_params)
190
+ client.flush
191
+ client.flushed?.should be_true
192
+ client.results[:results].size.should == 1
193
+ client.last_init_time.should be > current_init_time
194
+ end
162
195
  end
163
196
 
164
197
  describe "#message_buffer_size=" do
@@ -192,7 +225,7 @@ describe MessagebusApi::Messagebus do
192
225
  start_date_str="2011-01-01"
193
226
  end_date_str="2011-01-02"
194
227
 
195
- FakeWeb.register_uri(:get, "https://api.messagebus.com/api/v3/delivery_errors?startDate=#{start_date_str}&endDate=#{end_date_str}", :body => json_delivery_errors)
228
+ FakeWeb.register_uri(:get, "https://api.messagebus.com/api/v3/delivery_errors?startDate=#{start_date_str}&endDate=#{end_date_str}&tag=", :body => json_delivery_errors)
196
229
  expect do
197
230
  response = client.delivery_errors(start_date_str, end_date_str)
198
231
  FakeWeb.last_request.body.should be_nil
@@ -269,7 +302,7 @@ describe MessagebusApi::Messagebus do
269
302
 
270
303
  FakeWeb.register_uri(:post, expected_request, :body => json_mailing_list_create)
271
304
  expect do
272
- response = client.create_mailing_lists("Test List", ["%EMAIL%","%SOME_TOKEN%"])
305
+ response = client.create_mailing_lists("Test List", ["%EMAIL%", "%SOME_TOKEN%"])
273
306
  response.should == json_parse(json_mailing_list_create)
274
307
  end.should_not raise_error
275
308
  end
@@ -290,5 +323,12 @@ describe MessagebusApi::Messagebus do
290
323
  end
291
324
  end
292
325
 
326
+ describe "#format_iso_time" do
327
+ it "formats ISO time in format YYYY-MM-DDTHH:mm:ssZ" do
328
+ client.format_iso_time(Time.now).should =~ /2\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ/
329
+ end
330
+ end
331
+
332
+
293
333
  end
294
334
 
@@ -1,13 +1,19 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  class Hash
10
16
  def without(key)
11
17
  self.dup.tap{|hash| hash.delete(key)}
12
18
  end
13
- end
19
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,16 @@
1
- # Copyright (c) 2011. Message Bus
1
+ # Copyright 2012 Mail Bypass, Inc.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ # not use this file except in compliance with the License. You may obtain
5
+ # a copy of the License at
4
6
  #
5
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
6
8
  #
7
- # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ # License for the specific language governing permissions and limitations
13
+ # under the License.
8
14
 
9
15
  dir = File.dirname(__FILE__)
10
16
 
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: messagebus_ruby_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Messagebus dev team
8
+ - Message Bus dev team
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-16 00:00:00.000000000Z
12
+ date: 2012-01-20 00:00:00.000000000Z
13
13
  dependencies: []
14
- description: ! 'Allows you to use the Messagebus API '
14
+ description: ! 'Allows you to use the Message Bus API '
15
15
  email:
16
16
  - messagebus@googlegroups.com
17
17
  executables: []
@@ -54,7 +54,7 @@ rubyforge_project: messagebus_ruby_api
54
54
  rubygems_version: 1.8.10
55
55
  signing_key:
56
56
  specification_version: 3
57
- summary: Send email through Messagebus service
57
+ summary: Send email through the Message Bus service
58
58
  test_files:
59
59
  - spec/messagebus_ruby_api/cacert.pem
60
60
  - spec/messagebus_ruby_api/messagebus_spec.rb