mailgun-ruby 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d0af97ef09388ef5e354ea330f46da241d89528a
4
- data.tar.gz: 9c79b5dda98783d6a783e280323f7cd2b7026519
3
+ metadata.gz: 1e560063e4d8cf1632c762c36b84bafa2c7eb356
4
+ data.tar.gz: df5159ba95e42cdb82a4102c6af18f6e35c3523b
5
5
  SHA512:
6
- metadata.gz: 4c908d5931b2b65655ee7138497c0aece18773c4c7b9d278ed69fc2ae72fd23ebd2b3ab1ddb2645767bc2a4a89bdf6bd9a2624904a7a8411598ef4675234fc55
7
- data.tar.gz: 6beb9e890aeaf563521d2c341e86eaead15d25939243a2de33aa01ff76ea1c430fb4f7e45b95f27f29a557777f8595f746cb2cbf0fa5cc38a983f9d39c75d908
6
+ metadata.gz: 50ad029f9bf264cc0393413a61b3de2fd24269cac123d1ea26e72edc320fd8cf9d9080d346604c2aaf4055edf2e990453beadeee096cf03df58801522dab5420
7
+ data.tar.gz: 9c5228866ab40ae51021adf56cb71ba578de65c9fc8d72f0b9af7985c2971357bd3cc12333b41037826af4d46a01322c05d4d1be949baa9a034dde5e11fc74ed
data/Messages.md CHANGED
@@ -1,27 +1,27 @@
1
1
  Mailgun - Messages
2
2
  ====================
3
3
 
4
- This is the Mailgun Ruby *Message* utilities.
4
+ This is the Mailgun Ruby *Message* utilities.
5
5
 
6
- The below assumes you've already installed the Mailgun Ruby SDK in to your
6
+ The below assumes you've already installed the Mailgun Ruby SDK in to your
7
7
  project. If not, go back to the master README for instructions.
8
8
 
9
- There are two utilities included, Message Builder and Batch Message.
9
+ There are two utilities included, Message Builder and Batch Message.
10
10
 
11
- Message Builder: Allows you to build a message object by calling methods for
12
- each MIME attribute.
13
- Batch Message: Inherits Message Builder and allows you to iterate through
14
- recipients from a list. Messages will fire after the 1,000th recipient has been
15
- added.
11
+ Message Builder: Allows you to build a message object by calling methods for
12
+ each MIME attribute.
13
+ Batch Message: Inherits Message Builder and allows you to iterate through
14
+ recipients from a list. Messages will fire after the 1,000th recipient has been
15
+ added.
16
16
 
17
17
  Usage - Message Builder
18
18
  -----------------------
19
- Here's how to use Message Builder to build your Message.
19
+ Here's how to use Message Builder to build your Message.
20
20
 
21
21
  ```ruby
22
22
  # First, instantiate the Mailgun Client with your API key
23
23
  mg_client = Mailgun::Client.new("your-api-key")
24
- mb_obj = Mailgun::BatchMessage.new(@mb_client, "example.com")
24
+ mb_obj = Mailgun::MessageBuilder.new(@mb_client, "example.com")
25
25
 
26
26
  # Define the from address.
27
27
  mb_obj.set_from_address("me@example.com", {"first"=>"Ruby", "last" => "SDK"});
@@ -29,7 +29,7 @@ mb_obj.set_from_address("me@example.com", {"first"=>"Ruby", "last" => "SDK"});
29
29
  mb_obj.add_recipient(:to, "john.doe@example.com", {"first" => "John", "last" => "Doe"});
30
30
  # Define a cc recipient.
31
31
  mb_obj.add_recipient(:cc, "sally.doe@example.com", {"first" => "Sally", "last" => "Doe"});
32
- # Define the subject.
32
+ # Define the subject.
33
33
  mb_obj.set_subject("A message from the Ruby SDK using Message Builder!");
34
34
  # Define the body of the message.
35
35
  mb_obj.set_text_body("This is the text body of the message!");
@@ -47,7 +47,7 @@ mg_client.send_message("sending_domain.com", mb_obj)
47
47
 
48
48
  Usage - Batch Message
49
49
  ---------------------
50
- Here's how to use Batch Message to easily handle batch sending jobs.
50
+ Here's how to use Batch Message to easily handle batch sending jobs.
51
51
 
52
52
  ```ruby
53
53
  # First, instantiate the Mailgun Client with your API key
@@ -56,7 +56,7 @@ mb_obj = Mailgun::BatchMessage.new(@mb_client, "example.com")
56
56
 
57
57
  # Define the from address.
58
58
  mb_obj.set_from_address("me@example.com", {"first"=>"Ruby", "last" => "SDK"});
59
- # Define the subject.
59
+ # Define the subject.
60
60
  mb_obj.set_subject("A message from the Ruby SDK using Message Builder!");
61
61
  # Define the body of the message.
62
62
  mb_obj.set_text_body("This is the text body of the message!");
@@ -73,5 +73,5 @@ message_ids = mg_client.finalize
73
73
 
74
74
  More Documentation
75
75
  ------------------
76
- See the official [Mailgun Docs](http://documentation.mailgun.com/api-sending.html)
77
- for more information.
76
+ See the official [Mailgun Docs](http://documentation.mailgun.com/api-sending.html)
77
+ for more information.
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  Mailgun-Ruby
2
2
  ============
3
3
 
4
- This is the Mailgun Ruby Library. This library contains methods for easily interacting
5
- with the Mailgun API.
6
- Below are examples to get you started. For additional examples, please see our
7
- official documentation
4
+ This is the Mailgun Ruby Library. This library contains methods for easily interacting
5
+ with the Mailgun API.
6
+ Below are examples to get you started. For additional examples, please see our
7
+ official documentation
8
8
  at http://documentation.mailgun.com
9
9
 
10
10
  Installation
@@ -18,7 +18,7 @@ gem install mailgun-ruby
18
18
  Gemfile:
19
19
 
20
20
  ```ruby
21
- gem 'mailgun-ruby', "~>1.0.0"
21
+ gem 'mailgun-ruby', "~>1.0.1"
22
22
  ```
23
23
 
24
24
  Include
@@ -37,16 +37,16 @@ Here's how to send a message using the library:
37
37
  mg_client = Mailgun::Client.new "your-api-key"
38
38
 
39
39
  # Define your message parameters
40
- message_params = {:from => 'bob@sending_domain.com',
41
- :to => 'sally@example.com',
42
- :subject => 'The Ruby SDK is awesome!',
40
+ message_params = {:from => 'bob@sending_domain.com',
41
+ :to => 'sally@example.com',
42
+ :subject => 'The Ruby SDK is awesome!',
43
43
  :text => 'It is really easy to send a message!'}
44
44
 
45
45
  # Send your message through the client
46
46
  mg_client.send_message "sending_domain.com", message_params
47
47
  ```
48
48
 
49
- Or obtain the last couple log items:
49
+ Or obtain the last couple log items:
50
50
 
51
51
  ```ruby
52
52
  # First, instantiate the Mailgun Client with your API key
@@ -71,7 +71,7 @@ result = mg_client.get("#{domain}/events", {:event => 'delivered'})
71
71
  result.to_h
72
72
 
73
73
  # To YAML.
74
- result.to_yaml
74
+ result.to_yaml
75
75
 
76
76
  # Or raw JSON
77
77
  result.body
@@ -82,11 +82,11 @@ Here's an example, breaking out the response:
82
82
  ```ruby
83
83
  mg_client = Mailgun::Client.new("your-api-key")
84
84
 
85
- message_params = {:from => 'bob@example.com',
86
- :to => 'sally@example.com',
87
- :subject => 'The Ruby SDK is awesome!',
85
+ message_params = {:from => 'bob@example.com',
86
+ :to => 'sally@example.com',
87
+ :subject => 'The Ruby SDK is awesome!',
88
88
  :text => 'It is really easy to send a message!'}
89
-
89
+
90
90
  result = mg_client.send_message("example.com", message_params).to_h!
91
91
 
92
92
  message_id = result['id']
@@ -96,17 +96,17 @@ message = result['message']
96
96
  Debugging
97
97
  ---------
98
98
 
99
- Debugging the Ruby Library can be really helpful when things aren't working quite right.
100
- To debug the library, here are some suggestions:
99
+ Debugging the Ruby Library can be really helpful when things aren't working quite right.
100
+ To debug the library, here are some suggestions:
101
101
 
102
- Set the endpoint to Mailgun's Postbin. A Postbin is a web service that allows you to
102
+ Set the endpoint to Mailgun's Postbin. A Postbin is a web service that allows you to
103
103
  post data, which is then displayed through a browser. This allows you to quickly determine
104
- what is actually being transmitted to Mailgun's API.
104
+ what is actually being transmitted to Mailgun's API.
105
105
 
106
- **Step 1 - Create a new Postbin.**
107
- Go to http://bin.mailgun.net. The Postbin will generate a special URL. Save that URL.
106
+ **Step 1 - Create a new Postbin.**
107
+ Go to http://bin.mailgun.net. The Postbin will generate a special URL. Save that URL.
108
108
 
109
- **Step 2 - Instantiate the Mailgun client using Postbin.**
109
+ **Step 2 - Instantiate the Mailgun client using Postbin.**
110
110
 
111
111
  *Tip: The bin id will be the URL part after bin.mailgun.net. It will be random generated letters and numbers. For example, the bin id in this URL, http://bin.mailgun.net/aecf68de, is "aecf68de".*
112
112
 
@@ -115,36 +115,36 @@ Go to http://bin.mailgun.net. The Postbin will generate a special URL. Save that
115
115
  mg_client = Mailgun::Client.new("your-api-key", "bin.mailgun.net", "aecf68de", ssl = false)
116
116
 
117
117
  # Define your message parameters
118
- message_params = {:from => 'bob@sending_domain.com',
119
- :to => 'sally@example.com',
120
- :subject => 'The Ruby SDK is awesome!',
118
+ message_params = {:from => 'bob@sending_domain.com',
119
+ :to => 'sally@example.com',
120
+ :subject => 'The Ruby SDK is awesome!',
121
121
  :text => 'It is really easy to send a message!'}
122
122
 
123
123
  # Send your message through the client
124
124
  mg_client.send_message("sending_domain.com", message_params)
125
125
  ```
126
126
 
127
- For usage examples on each API endpoint, head over to our official documentation
127
+ For usage examples on each API endpoint, head over to our official documentation
128
128
  pages. Or the [Snippets](Snippets.md) file.
129
129
 
130
- This SDK includes a [Message Builder](Messages.md),
130
+ This SDK includes a [Message Builder](Messages.md),
131
131
  [Batch Message](Messages.md) and [Opt-In Handler](OptInHandler.md) component.
132
132
 
133
- Message Builder allows you to quickly create the array of parameters, required
133
+ Message Builder allows you to quickly create the array of parameters, required
134
134
  to send a message, by calling a methods for each parameter.
135
- Batch Message is an extension of Message Builder, and allows you to easily send
136
- a batch message job within a few seconds. The complexity of
137
- batch messaging is eliminated!
135
+ Batch Message is an extension of Message Builder, and allows you to easily send
136
+ a batch message job within a few seconds. The complexity of
137
+ batch messaging is eliminated!
138
138
 
139
139
  Support and Feedback
140
140
  --------------------
141
141
 
142
- Be sure to visit the Mailgun official
143
- [documentation website](http://documentation.mailgun.com/) for additional
144
- information about our API.
142
+ Be sure to visit the Mailgun official
143
+ [documentation website](http://documentation.mailgun.com/) for additional
144
+ information about our API.
145
145
 
146
- If you find a bug, please submit the issue in Github directly.
146
+ If you find a bug, please submit the issue in Github directly.
147
147
  [Mailgun-Ruby Issues](https://github.com/mailgun/mailgun-ruby/issues)
148
148
 
149
- As always, if you need additional assistance, drop us a note at
150
- [support@mailgun.com](mailto:support@mailgun.com).
149
+ As always, if you need additional assistance, drop us a note at
150
+ [support@mailgun.com](mailto:support@mailgun.com).
data/lib/mailgun.rb CHANGED
@@ -11,9 +11,9 @@ require "mailgun/exceptions/exceptions"
11
11
 
12
12
  module Mailgun
13
13
 
14
- # A Mailgun::Client object is used to communicate with the Mailgun API. It is a
15
- # wrapper around RestClient so you don't have to worry about the HTTP aspect
16
- # of communicating with our API.
14
+ # A Mailgun::Client object is used to communicate with the Mailgun API. It is a
15
+ # wrapper around RestClient so you don't have to worry about the HTTP aspect
16
+ # of communicating with our API.
17
17
  #
18
18
  # See the Github documentation for full examples.
19
19
 
@@ -34,13 +34,13 @@ module Mailgun
34
34
  # Simple Message Sending
35
35
  #
36
36
  # @param [String] working_domain This is the domain you wish to send from.
37
- # @param [Hash] data This should be a standard Hash or Multimap
37
+ # @param [Hash] data This should be a standard Hash
38
38
  # containing required parameters for the requested resource.
39
39
  # @return [Mailgun::Response] A Mailgun::Response object.
40
40
 
41
41
  def send_message(working_domain, data)
42
42
  case data
43
- when Hash, Multimap
43
+ when Hash
44
44
  if data.has_key?(:message)
45
45
  if data[:message].is_a?(String)
46
46
  data[:message] = convert_string_to_file(data[:message])
@@ -60,7 +60,7 @@ module Mailgun
60
60
  #
61
61
  # @param [String] resource_path This is the API resource you wish to interact
62
62
  # with. Be sure to include your domain, where necessary.
63
- # @param [Hash] data This should be a standard Hash or Multimap
63
+ # @param [Hash] data This should be a standard Hash
64
64
  # containing required parameters for the requested resource.
65
65
  # @return [Mailgun::Response] A Mailgun::Response object.
66
66
 
@@ -77,16 +77,16 @@ module Mailgun
77
77
  #
78
78
  # @param [String] resource_path This is the API resource you wish to interact
79
79
  # with. Be sure to include your domain, where necessary.
80
- # @param [Hash] query_string This should be a standard Hash or Multimap
80
+ # @param [Hash] query_string This should be a standard Hash
81
81
  # containing required parameters for the requested resource.
82
82
  # @return [Mailgun::Response] A Mailgun::Response object.
83
83
 
84
- def get(resource_path, params=nil)
84
+ def get(resource_path, params=nil, accept="*/*")
85
85
  begin
86
86
  if params
87
- response = @http_client[resource_path].get(:params => params)
87
+ response = http_client[resource_path].get(:params => params, :accept => accept)
88
88
  else
89
- response = @http_client[resource_path].get()
89
+ response = @http_client[resource_path].get(:accept => accept)
90
90
  end
91
91
  Response.new(response)
92
92
  rescue Exception => e
@@ -98,7 +98,7 @@ module Mailgun
98
98
  #
99
99
  # @param [String] resource_path This is the API resource you wish to interact
100
100
  # with. Be sure to include your domain, where necessary.
101
- # @param [Hash] data This should be a standard Hash or Multimap
101
+ # @param [Hash] data This should be a standard Hash
102
102
  # containing required parameters for the requested resource.
103
103
  # @return [Mailgun::Response] A Mailgun::Response object.
104
104
 
@@ -139,7 +139,7 @@ module Mailgun
139
139
  file
140
140
  end
141
141
 
142
- # Generates the endpoint URL to for the API. Allows overriding
142
+ # Generates the endpoint URL to for the API. Allows overriding
143
143
  # API endpoint, API versions, and toggling SSL.
144
144
  #
145
145
  # @param [String] api_host URL endpoint the library will hit
@@ -160,7 +160,7 @@ module Mailgun
160
160
  # A Mailgun::Response object is instantiated for each response generated
161
161
  # by the Client request. The Response object supports deserialization of
162
162
  # the JSON result. Or, if you prefer JSON or YAML formatting, call the
163
- # method for conversion.
163
+ # method for conversion.
164
164
  #
165
165
  # See the Github documentation for full examples.
166
166
 
@@ -223,5 +223,5 @@ module Mailgun
223
223
  end
224
224
 
225
225
  end
226
-
226
+
227
227
  end
@@ -10,16 +10,16 @@ module Mailgun
10
10
  # this code makes it dead simple to send millions of messages in batches of
11
11
  # 1,000 recipients per HTTP call.
12
12
  #
13
- # For the curious, the class simply keeps track of recipient data (count,
13
+ # For the curious, the class simply keeps track of recipient data (count,
14
14
  # user variables), and fires the API payload on the 1,000th addition of a recipient.
15
15
  #
16
16
  # The best way to use this class is:
17
- # 1. Build your message using the Message Builder methods.
18
- # 2. Query your source and create an iterable list.
19
- # 3. Iterate through your source data, and add your recipients using the
20
- # add_recipient() method.
21
- # 4. Call finalize() to flush any remaining recipients and obtain/store
22
- # the message_ids for tracking purposes.
17
+ # 1. Build your message using the Message Builder methods.
18
+ # 2. Query your source and create an iterable list.
19
+ # 3. Iterate through your source data, and add your recipients using the
20
+ # add_recipient() method.
21
+ # 4. Call finalize() to flush any remaining recipients and obtain/store
22
+ # the message_ids for tracking purposes.
23
23
  #
24
24
  # See the Github documentation for full examples.
25
25
 
@@ -48,7 +48,7 @@ module Mailgun
48
48
  end
49
49
 
50
50
  compiled_address = parse_address(address, variables)
51
- @message[recipient_type] = compiled_address
51
+ complex_setter(recipient_type, compiled_address)
52
52
  if recipient_type != :from
53
53
  store_recipient_variables(recipient_type, address, variables)
54
54
  end
@@ -68,7 +68,7 @@ module Mailgun
68
68
  end
69
69
  @message_ids
70
70
  end
71
-
71
+
72
72
  private
73
73
 
74
74
  # This method determines if it's necessary to send another batch.
@@ -88,21 +88,21 @@ module Mailgun
88
88
  end
89
89
 
90
90
  # This method initiates a batch send to the API. It formats the recipient
91
- # variables, posts to the API, gathers the message IDs, then flushes that data
91
+ # variables, posts to the API, gathers the message IDs, then flushes that data
92
92
  # to prepare for the next batch. This method implements the Mailgun Client, thus,
93
- # an exception will be thrown if a communication error occurs.
93
+ # an exception will be thrown if a communication error occurs.
94
94
  #
95
95
  # @return [Boolean]
96
96
 
97
97
  def send_message(message)
98
- @message["recipient-variables"] = JSON.generate(@recipient_variables)
98
+ simple_setter("recipient-variables", JSON.generate(@recipient_variables))
99
99
  response = @client.send_message(@domain, @message).to_h!
100
100
  message_id = response['id'].gsub(/\>|\</, '')
101
101
  @message_ids[message_id] = count_recipients()
102
102
  reset_message()
103
103
  end
104
104
 
105
- # This method stores recipient variables for each recipient added, if
105
+ # This method stores recipient variables for each recipient added, if
106
106
  # variables exist.
107
107
 
108
108
  def store_recipient_variables(recipient_type, address, variables)
@@ -112,7 +112,7 @@ module Mailgun
112
112
  @recipient_variables[address] = variables
113
113
  end
114
114
 
115
- # This method stores recipient variables for each recipient added, if
115
+ # This method stores recipient variables for each recipient added, if
116
116
  # variables exist.
117
117
 
118
118
  def count_recipients()
@@ -121,8 +121,8 @@ module Mailgun
121
121
  count
122
122
  end
123
123
 
124
- # This method resets the message object to prepare for the next batch
125
- # of recipients.
124
+ # This method resets the message object to prepare for the next batch
125
+ # of recipients.
126
126
 
127
127
  def reset_message()
128
128
  @message.delete("recipient-variables")
@@ -135,5 +135,5 @@ module Mailgun
135
135
  end
136
136
 
137
137
  end
138
-
138
+
139
139
  end
@@ -1,4 +1,3 @@
1
- require 'multimap'
2
1
  require 'time'
3
2
  require 'json'
4
3
 
@@ -15,7 +14,7 @@ module Mailgun
15
14
  attr_reader :message, :counters
16
15
 
17
16
  def initialize()
18
- @message = Multimap.new
17
+ @message = Hash.new{|hash, key| hash[key] = []}
19
18
  @counters = {:recipients =>
20
19
  {:to => 0,
21
20
  :cc => 0,
@@ -40,7 +39,7 @@ module Mailgun
40
39
  end
41
40
 
42
41
  compiled_address = parse_address(address, variables)
43
- @message[recipient_type] = compiled_address
42
+ complex_setter(recipient_type, compiled_address)
44
43
 
45
44
  if @counters[:recipients].has_key?(recipient_type)
46
45
  @counters[:recipients][recipient_type] += 1
@@ -100,7 +99,7 @@ module Mailgun
100
99
  if !filename.nil?
101
100
  attachment.instance_eval "def original_filename; '#{filename}'; end"
102
101
  end
103
- @message[:attachment] = attachment
102
+ complex_setter(:attachment, attachment)
104
103
  end
105
104
 
106
105
  # Adds an inline image to the mesage object.
@@ -119,7 +118,7 @@ module Mailgun
119
118
  if !filename.nil?
120
119
  inline_image.instance_eval "def original_filename; '#{filename}'; end"
121
120
  end
122
- @message[:inline] = inline_image
121
+ complex_setter(:inline, inline_image)
123
122
  end
124
123
 
125
124
  # Send a message in test mode. (The message won't really be sent to the recipient)
@@ -149,7 +148,7 @@ module Mailgun
149
148
  if (@counters[:attributes][:campaign_id] == 3)
150
149
  raise ParameterError.new("Too many campaigns added to message.", campaign_id)
151
150
  end
152
- @message["o:campaign"] = campaign_id
151
+ complex_setter("o:campaign", campaign_id)
153
152
  @counters[:attributes][:campaign_id] += 1
154
153
  end
155
154
 
@@ -162,7 +161,7 @@ module Mailgun
162
161
  if (@counters[:attributes][:tag] == 3)
163
162
  raise ParameterError.new("Too many tags added to message.", tag)
164
163
  end
165
- @message["o:tag"] = tag
164
+ complex_setter("o:tag", tag)
166
165
  @counters[:attributes][:tag] += 1
167
166
  end
168
167
 
@@ -228,7 +227,7 @@ module Mailgun
228
227
  # @return [void]
229
228
 
230
229
  def add_custom_parameter(name, data)
231
- @message[name] = data
230
+ complex_setter(name, data)
232
231
  end
233
232
 
234
233
  private
@@ -242,17 +241,24 @@ module Mailgun
242
241
 
243
242
  def simple_setter(parameter, value)
244
243
  if value.nil?
245
- if @message.include?(parameter)
246
- @message.replace({parameter => ''})
247
- else
248
- @message[parameter] = ''
249
- end
244
+ @message[parameter] = ['']
250
245
  else
251
- if @message.include?(parameter)
252
- @message.replace({parameter => value})
253
- else
254
- @message[parameter] = value
255
- end
246
+ @message[parameter] = [value]
247
+ end
248
+ end
249
+
250
+ # Sets values within the multidict, however, allows
251
+ # duplicate values for keys.
252
+ #
253
+ # @param [String] parameter The message object parameter name.
254
+ # @param [String] value The value of the parameter.
255
+ # @return [void]
256
+
257
+ def complex_setter(parameter, value)
258
+ if value.nil?
259
+ @message[parameter] << ''
260
+ else
261
+ @message[parameter] << value
256
262
  end
257
263
  end
258
264
 
@@ -268,7 +274,7 @@ module Mailgun
268
274
  value.downcase!
269
275
  if ['true', 'yes', 'yep'].include? value
270
276
  return "yes"
271
- elsif ['false', 'no', 'nope'].include? value
277
+ elsif ['false', 'no', 'nope'].include? value
272
278
  return "no"
273
279
  else
274
280
  return value
@@ -317,5 +323,5 @@ module Mailgun
317
323
  end
318
324
 
319
325
  end
320
-
326
+
321
327
  end
@@ -1,5 +1,5 @@
1
1
  module Mailgun
2
2
 
3
- VERSION = "1.0.0"
4
-
3
+ VERSION = "1.0.1"
4
+
5
5
  end
data/mailgun.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.license = 'Apache'
13
13
 
14
14
  spec.summary = "Mailgun's Official Ruby SDK"
15
- spec.description = "This Gem allows you to interact with Mailgun's API. A few utilities are included!"
15
+ spec.description = "Mailgun's Official Ruby SDK for interacting with the Mailgun API."
16
16
 
17
17
  spec.authors = ["Mailgun", "Travis Swientek"]
18
18
  spec.email = "support@mailgunhq.com"
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.post_install_message = %q{
26
26
  ---------------------------------------------------------------
27
- Congrats, you've successfully installed the Mailgun SDK!
27
+ Congrats, you've successfully installed the Mailgun SDK!
28
28
  Check out our documentation at http://documentation.mailgun.com
29
29
 
30
30
  Contact us at support@mailgunhq.com with any questions.
@@ -37,6 +37,5 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  spec.add_dependency "rest-client", "~> 1.6"
39
39
  spec.add_dependency "json", "~> 1.8"
40
- spec.add_dependency "multimap", "~> 1.1"
41
-
40
+
42
41
  end
@@ -24,12 +24,10 @@ describe 'The method send_message()' do
24
24
 
25
25
  it 'accepts only specific data types' do
26
26
  @mb_obj = Mailgun::MessageBuilder.new()
27
- @mm_obj = Multimap.new()
28
27
  @mh_obj = {}
29
28
 
30
29
  expect {@mg_obj.send_message("test.com", "incorrect data")}.to raise_error
31
30
  expect {@mg_obj.send_message("test.com", @mb_obj)}.not_to raise_error
32
- expect {@mg_obj.send_message("test.com", @mm_obj)}.not_to raise_error
33
31
  expect {@mg_obj.send_message("test.com", @mh_obj)}.not_to raise_error
34
32
  end
35
33
 
@@ -27,8 +27,8 @@ describe 'The instantiation of Batch Message' do
27
27
  @mb_obj = Mailgun::BatchMessage.new(@mb_client, "example.com")
28
28
  end
29
29
 
30
- it 'contains Message, which should be of type Multimap and empty' do
31
- @mb_obj.message.should be_a(Multimap)
30
+ it 'contains Message, which should be of type Hash and empty' do
31
+ @mb_obj.message.should be_a(Hash)
32
32
  @mb_obj.message.length.should eq(0)
33
33
  end
34
34
 
@@ -14,11 +14,6 @@ describe 'The instantiation of MessageBuilder' do
14
14
  @mb_obj = Mailgun::MessageBuilder.new()
15
15
  end
16
16
 
17
- it 'contains Message, which should be of type Multimap and empty' do
18
- @mb_obj.message.should be_a(Multimap)
19
- @mb_obj.message.length.should eq(0)
20
- end
21
-
22
17
  it 'contains counters, which should be of type hash and contain several important counters' do
23
18
  @mb_obj.counters.should be_a(Hash)
24
19
  @mb_obj.counters.should include(:recipients)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailgun-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mailgun
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-22 00:00:00.000000000 Z
12
+ date: 2014-04-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -81,22 +81,7 @@ dependencies:
81
81
  - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.8'
84
- - !ruby/object:Gem::Dependency
85
- name: multimap
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ~>
89
- - !ruby/object:Gem::Version
90
- version: '1.1'
91
- type: :runtime
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ~>
96
- - !ruby/object:Gem::Version
97
- version: '1.1'
98
- description: This Gem allows you to interact with Mailgun's API. A few utilities are
99
- included!
84
+ description: Mailgun's Official Ruby SDK for interacting with the Mailgun API.
100
85
  email: support@mailgunhq.com
101
86
  executables: []
102
87
  extensions: []
@@ -134,7 +119,7 @@ licenses:
134
119
  - Apache
135
120
  metadata: {}
136
121
  post_install_message: "\n ---------------------------------------------------------------\n
137
- \ Congrats, you've successfully installed the Mailgun SDK! \n Check out our
122
+ \ Congrats, you've successfully installed the Mailgun SDK!\n Check out our
138
123
  documentation at http://documentation.mailgun.com\n\n Contact us at support@mailgunhq.com
139
124
  with any questions.\n ----------------------------------------------------------------\n
140
125
  \ "
@@ -153,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
138
  version: '0'
154
139
  requirements: []
155
140
  rubyforge_project:
156
- rubygems_version: 2.1.11
141
+ rubygems_version: 2.0.3
157
142
  signing_key:
158
143
  specification_version: 4
159
144
  summary: Mailgun's Official Ruby SDK