mailgunner 2.2.2 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c67fa45a36b770cb9d3d29b970dfc281f00bc8d
4
- data.tar.gz: 9640ba5d282f2438ebee99d011ad14f3578c62cd
3
+ metadata.gz: 4f2850f4c4d7090a89e92f1f892da73b54dbdce6
4
+ data.tar.gz: 793b27238fa767fe883dc634442715fa355f958c
5
5
  SHA512:
6
- metadata.gz: 6e7e43cd04b35336a3cc1ddfd6f74a63d7ed5e75e027e312a32b5c7619e71e35084cd6f366c8c71d9fd05d2243e2d34eac697fe1d4f11d106e3e8165583037a8
7
- data.tar.gz: 2baeceef88a9b0b1d79ba5737f7afc9643611af1533ba5499f4c1cea4486db2ea9a0a0ceaf221b4ad22ae19a520c791be493a3adb4acf5b26214c2dcd53deeb8
6
+ metadata.gz: 49a2692751d5a67f6fb05aaebf2c73fcd389aa2841311de02dea82a1e156471e3b6802c5e2e7813e08ed5f1bbe83fb3993d451b0f946254ddba7a63274d9cf94
7
+ data.tar.gz: ddd64af9eb4d81e9c9ddb6734d647681e8f82f863f732967c398a4a6b91a980c1d0f5a98a6dade7fa33d228b669f665209fad453016bac21fbcffa68d4f8a7af
data/lib/mailgunner.rb CHANGED
@@ -145,9 +145,15 @@ module Mailgunner
145
145
  end
146
146
 
147
147
  def get_stats(params = {})
148
+ Kernel.warn 'Mailgunner::Client#get_stats is deprecated'
149
+
148
150
  get("/v3/#{escape @domain}/stats", params)
149
151
  end
150
152
 
153
+ def get_total_stats(params = {})
154
+ get("/v3/#{escape @domain}/stats/total", params)
155
+ end
156
+
151
157
  def get_events(params = {})
152
158
  get("/v3/#{escape @domain}/events", params)
153
159
  end
@@ -256,10 +262,6 @@ module Mailgunner
256
262
  delete("/v3/lists/#{escape list_address}/members/#{escape member_address}")
257
263
  end
258
264
 
259
- def get_list_stats(list_address)
260
- get("/v3/lists/#{escape list_address}/stats")
261
- end
262
-
263
265
  private
264
266
 
265
267
  def get(path, params = {}, headers = {})
data/mailgunner.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'mailgunner'
3
- s.version = '2.2.2'
3
+ s.version = '2.3.0'
4
4
  s.license = 'LGPL-3.0'
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.authors = ['Tim Craft']
@@ -5,6 +5,8 @@ require 'mailgunner'
5
5
  require 'json'
6
6
  require 'mail'
7
7
 
8
+ WebMock::Config.instance.query_values_notation = :flat_array
9
+
8
10
  describe 'Mailgunner::Client' do
9
11
  before do
10
12
  @domain = 'samples.mailgun.org'
@@ -373,6 +375,10 @@ describe 'Mailgunner::Client' do
373
375
  end
374
376
 
375
377
  describe 'get_stats method' do
378
+ before do
379
+ Kernel.stubs(:warn)
380
+ end
381
+
376
382
  it 'fetches the domain stats resource and returns the response object' do
377
383
  stub_request(:get, "#@base_url/#@domain/stats").to_return(@json_response)
378
384
 
@@ -386,10 +392,38 @@ describe 'Mailgunner::Client' do
386
392
  end
387
393
 
388
394
  it 'encodes an event parameter with multiple values' do
389
- stub_request(:get, "#@base_url/#@domain/stats?event=sent&event=opened")
395
+ stub_request(:get, "#@base_url/#@domain/stats?event=opened&event=sent")
390
396
 
391
397
  @client.get_stats(event: %w(sent opened))
392
398
  end
399
+
400
+ it 'emits a deprecation warning' do
401
+ stub_request(:get, "#@base_url/#@domain/stats")
402
+
403
+ Kernel.expects(:warn).with(regexp_matches(/Mailgunner::Client#get_stats is deprecated/))
404
+
405
+ @client.get_stats
406
+ end
407
+ end
408
+
409
+ describe 'get_total_stats method' do
410
+ it 'fetches the domain total stats resource and returns the response object' do
411
+ stub_request(:get, "#@base_url/#@domain/stats/total?event=delivered").to_return(@json_response)
412
+
413
+ @client.get_total_stats(event: 'delivered').must_equal(@json_response_object)
414
+ end
415
+
416
+ it 'encodes optional parameters' do
417
+ stub_request(:get, "#@base_url/#@domain/stats/total?event=delivered&resolution=hour")
418
+
419
+ @client.get_total_stats(event: 'delivered', resolution: 'hour')
420
+ end
421
+
422
+ it 'encodes multiple event values' do
423
+ stub_request(:get, "#@base_url/#@domain/stats/total?event=delivered&event=accepted")
424
+
425
+ @client.get_total_stats(event: %w(accepted delivered))
426
+ end
393
427
  end
394
428
 
395
429
  describe 'get_events method' do
@@ -721,12 +755,4 @@ describe 'Mailgunner::Client' do
721
755
  @client.delete_list_member('developers@mailgun.net', @address).must_equal(@json_response_object)
722
756
  end
723
757
  end
724
-
725
- describe 'get_list_stats method' do
726
- it 'fetches the list stats resource and returns the response object' do
727
- stub_request(:get, "#@base_url/lists/developers%40mailgun.net/stats").to_return(@json_response)
728
-
729
- @client.get_list_stats('developers@mailgun.net').must_equal(@json_response_object)
730
- end
731
- end
732
758
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailgunner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Craft
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  requirements: []
117
117
  rubyforge_project:
118
- rubygems_version: 2.2.2
118
+ rubygems_version: 2.4.5.1
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: Ruby client for the Mailgun API