mailgun-tracking 0.3.0 → 1.0.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.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/lib/generators/mailgun/tracking/install_generator.rb +2 -0
  3. data/lib/mailgun/tracking.rb +2 -0
  4. data/lib/mailgun/tracking/configuration.rb +3 -1
  5. data/lib/mailgun/tracking/exceptions.rb +2 -0
  6. data/lib/mailgun/tracking/listener.rb +2 -0
  7. data/lib/mailgun/tracking/middleware.rb +13 -1
  8. data/lib/mailgun/tracking/notifier.rb +3 -1
  9. data/lib/mailgun/tracking/payload.rb +3 -0
  10. data/lib/mailgun/tracking/railtie.rb +2 -0
  11. data/lib/mailgun/tracking/request.rb +5 -0
  12. data/lib/mailgun/tracking/signature.rb +3 -0
  13. data/lib/mailgun/tracking/subscriber.rb +2 -0
  14. data/lib/mailgun/tracking/subscriber/all_messages.rb +2 -0
  15. data/lib/mailgun/tracking/subscriber/evented.rb +2 -0
  16. data/lib/mailgun/tracking/util.rb +3 -0
  17. data/lib/mailgun/tracking/version.rb +4 -2
  18. data/spec/dummy/rack/application.rb +2 -0
  19. data/spec/dummy/rails/application.rb +2 -0
  20. data/spec/dummy/rails/logs/test.log +34 -261
  21. data/spec/dummy/sinatra/application.rb +2 -0
  22. data/spec/integration/rack/rack_spec.rb +2 -1
  23. data/spec/integration/rails/rails_spec.rb +2 -1
  24. data/spec/integration/sinatra/sinatra_spec.rb +2 -1
  25. data/spec/mailgun/tracking/configuration_spec.rb +1 -1
  26. data/spec/mailgun/tracking/listener_spec.rb +1 -1
  27. data/spec/mailgun/tracking/middleware_spec.rb +4 -1
  28. data/spec/mailgun/tracking/notifier_spec.rb +1 -1
  29. data/spec/mailgun/tracking/payload_spec.rb +1 -1
  30. data/spec/mailgun/tracking/request_spec.rb +1 -1
  31. data/spec/mailgun/tracking/signature_spec.rb +1 -1
  32. data/spec/mailgun/tracking/subscriber/all_messages_spec.rb +1 -1
  33. data/spec/mailgun/tracking/subscriber/evented_spec.rb +1 -1
  34. data/spec/mailgun/tracking/subscriber_spec.rb +1 -1
  35. data/spec/mailgun/tracking/util_spec.rb +1 -1
  36. data/spec/mailgun/tracking/version_spec.rb +1 -1
  37. data/spec/mailgun/tracking_spec.rb +1 -1
  38. data/spec/spec_helper.rb +2 -0
  39. data/spec/support/fixture.rb +2 -0
  40. data/spec/support/rack_helpers.rb +2 -0
  41. data/spec/support/shared_examples/integration/acts_as_rack.rb +2 -0
  42. data/spec/support/shared_examples/subscriber.rb +2 -0
  43. data/spec/support/simplecov.rb +7 -3
  44. metadata +37 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b2f00cf238e43fe1fbe4b3da28f0ba82c14ddb46
4
- data.tar.gz: abb5171204c548e64e0088385b0bd8df1da7dd1a
2
+ SHA256:
3
+ metadata.gz: 21d2fa7599f08ae635591938264cdfdd0dadf64e2baed939ef236e5dead989a2
4
+ data.tar.gz: a6d7f4a3f6d1c87c08d14467608a02141dd40906d1b5172049662e8ae3ece203
5
5
  SHA512:
6
- metadata.gz: 97249174916ea976f68d3f3c4db86efcc3b711751acd3f4d63806e03097c08ceb3916e4a34ea650043b406f1fd46ef231ca9c8658c1e16910e7765f93f8a91a9
7
- data.tar.gz: c105354cd61ec52b16fab64eb7daf95af8164723fa451c1a2810887091f8760166f913ecf1c583ddf0dc86360a4e379cc215f9e120b6b043c0795692b84b2447
6
+ metadata.gz: 8238ebe57aabc593f7810d20a44fe2c3b8c3440aefcf07fb5a564d093304d1d37874e04dc22346d2dda996c4a9cac3596d4cf0f71af0aa4fd8f0bf5d256465cb
7
+ data.tar.gz: b90c4aacd8d8f8cc6ad70482eae5e2e23d2fe288fc77b7d259f30ed279214efd4e7d0c691a85d4de34344cb22812913bd9b3bc51d62897880d520e5252acce08
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Creates the Mailgun Tracking initializer file for Rails apps.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mailgun/tracking/configuration'
2
4
  require 'mailgun/tracking/exceptions'
3
5
  require 'mailgun/tracking/listener'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'singleton'
2
4
 
3
5
  module Mailgun
@@ -6,7 +8,7 @@ module Mailgun
6
8
  class Configuration
7
9
  include Singleton
8
10
 
9
- DEFAULT_ENDPOINT = '/mailgun'.freeze
11
+ DEFAULT_ENDPOINT = '/mailgun'
10
12
 
11
13
  # Mailgun API public key.
12
14
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # A general Mailgun Tracking exception.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Represents a mechanism for event listeners to subscribe to events and for event broadcasts.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Rack-based middleware to handle event notifications.
@@ -9,14 +11,24 @@ module Mailgun
9
11
  @app = app
10
12
  end
11
13
 
12
- # Responds to Rack requests.
14
+ # Thread-safe {call!}.
13
15
  #
14
16
  # @param env [Hash] Environment hash.
15
17
  #
16
18
  # @return [Array(Numeric,Hash,Array)] The Rack-style response.
17
19
  def call(env)
20
+ dup.call!(env)
21
+ end
22
+
23
+ # Responds to Rack requests.
24
+ #
25
+ # @param env [Hash] Environment hash.
26
+ #
27
+ # @return [Array(Numeric,Hash,Array)] The Rack-style response.
28
+ def call!(env)
18
29
  @request = Request.new(env)
19
30
  return @app.call(env) unless @request.mailgun_tracking?
31
+
20
32
  handle_event
21
33
  end
22
34
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Wraps the {Listener} which gives a friendlier way to subscribe or broadcast.
@@ -8,7 +10,7 @@ module Mailgun
8
10
  #
9
11
  # @return [Mailgun::Tracking::Notifier]
10
12
  def initialize(listener = Listener.new)
11
- @listener ||= listener
13
+ @listener = listener
12
14
  end
13
15
 
14
16
  # Returns true if there is at least one subscriber.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  module Mailgun
@@ -39,6 +41,7 @@ module Mailgun
39
41
  keys.each do |key|
40
42
  define_method(key) { @options[key] }
41
43
  next unless [FalseClass, TrueClass].include?(options[key].class)
44
+
42
45
  define_method(:"#{key}?") { @options[key] }
43
46
  end
44
47
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Mailgun Tracking Railtie.
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rack/request'
4
+
1
5
  module Mailgun
2
6
  module Tracking
3
7
  # Provides a convenient interface to a Rack environment.
@@ -7,6 +11,7 @@ module Mailgun
7
11
  # @return [Boolean]
8
12
  def mailgun_tracking?
9
13
  return false unless post?
14
+
10
15
  path == Configuration.instance.endpoint
11
16
  end
12
17
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'openssl'
2
4
 
3
5
  module Mailgun
@@ -14,6 +16,7 @@ module Mailgun
14
16
  def self.verify!(payload)
15
17
  signature = new(payload)
16
18
  raise InvalidSignature unless signature.valid?
19
+
17
20
  true
18
21
  end
19
22
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mailgun/tracking/subscriber/all_messages'
2
4
  require 'mailgun/tracking/subscriber/evented'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  module Subscriber
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  module Subscriber
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # Utility methods.
@@ -18,6 +20,7 @@ module Mailgun
18
20
  def normalize_keys(options)
19
21
  return from_h(options) if options.is_a?(Hash)
20
22
  return from_ary(options) if options.is_a?(Array)
23
+
21
24
  options
22
25
  end
23
26
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mailgun
2
4
  module Tracking
3
5
  # This module holds the Mailgun Tracking version information.
@@ -10,14 +12,14 @@ module Mailgun
10
12
  #
11
13
  # @return [Integer]
12
14
  def major
13
- 0
15
+ 1
14
16
  end
15
17
 
16
18
  # Minor version.
17
19
  #
18
20
  # @return [Integer]
19
21
  def minor
20
- 3
22
+ 0
21
23
  end
22
24
 
23
25
  # Patch version.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Dummy
2
4
  Application = Rack::Builder.new do
3
5
  use Mailgun::Tracking::Middleware
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ENV['RAILS_ENV'] = 'test'
2
4
 
3
5
  require 'rails'
@@ -1,265 +1,38 @@
1
- # Logfile created on 2018-03-13 02:09:24 +0200 by logger.rb/56438
2
- I, [2018-03-13T02:09:24.712282 #62428] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 02:09:24 +0200
3
- I, [2018-03-13T02:09:24.722710 #62428] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 02:09:24 +0200
4
- F, [2018-03-13T02:09:24.725562 #62428] FATAL -- :
5
- Mailgun::Tracking::InvalidSignature (Mailgun::Tracking::InvalidSignature):
6
- lib/mailgun/tracking/signature.rb:16:in `verify!'
7
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
8
- lib/mailgun/tracking/middleware.rb:21:in `call'
9
-
10
-
11
- I, [2018-03-13T02:10:59.655696 #62449] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 02:10:59 +0200
12
- I, [2018-03-13T02:10:59.667026 #62449] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 02:10:59 +0200
13
- F, [2018-03-13T02:10:59.669988 #62449] FATAL -- :
14
- Mailgun::Tracking::InvalidSignature (Mailgun::Tracking::InvalidSignature):
15
- lib/mailgun/tracking/signature.rb:16:in `verify!'
16
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
17
- lib/mailgun/tracking/middleware.rb:21:in `call'
18
-
19
-
20
- I, [2018-03-13T08:38:40.694094 #64748] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:38:40 +0200
21
- I, [2018-03-13T08:38:40.704042 #64748] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:38:40 +0200
22
- F, [2018-03-13T08:38:40.705522 #64748] FATAL -- :
23
- Mailgun::Tracking::InvalidSignature (Mailgun::Tracking::InvalidSignature):
24
- lib/mailgun/tracking/signature.rb:16:in `verify!'
25
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
26
- lib/mailgun/tracking/middleware.rb:21:in `call'
27
-
28
-
29
- I, [2018-03-13T08:39:03.847726 #64765] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:39:03 +0200
30
- I, [2018-03-13T08:39:03.852023 #64765] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:39:03 +0200
31
- F, [2018-03-13T08:39:03.852909 #64765] FATAL -- :
32
- Mailgun::Tracking::InvalidSignature (Mailgun::Tracking::InvalidSignature):
33
- lib/mailgun/tracking/signature.rb:16:in `verify!'
34
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
35
- lib/mailgun/tracking/middleware.rb:21:in `call'
36
-
37
-
38
- I, [2018-03-13T08:39:17.294931 #64774] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:39:17 +0200
39
- I, [2018-03-13T08:39:17.298928 #64774] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:39:17 +0200
40
- F, [2018-03-13T08:39:17.299795 #64774] FATAL -- :
41
- Mailgun::Tracking::InvalidSignature (Mailgun::Tracking::InvalidSignature):
42
- lib/mailgun/tracking/signature.rb:16:in `verify!'
43
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
44
- lib/mailgun/tracking/middleware.rb:21:in `call'
45
-
46
-
47
- I, [2018-03-13T08:41:25.137308 #64797] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:41:25 +0200
48
- I, [2018-03-13T08:41:25.142976 #64797] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 08:41:25 +0200
49
- F, [2018-03-13T08:41:25.144406 #64797] FATAL -- :
50
- Mailgun::Tracking::InvalidSignature (my body):
51
- lib/mailgun/tracking/signature.rb:16:in `verify!'
52
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
53
- lib/mailgun/tracking/middleware.rb:21:in `call'
54
-
55
-
56
- I, [2018-03-13T22:25:16.416799 #69766] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:16 +0200
57
- I, [2018-03-13T22:25:16.424802 #69766] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:16 +0200
58
- I, [2018-03-13T22:25:19.501498 #69773] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:19 +0200
59
- I, [2018-03-13T22:25:19.505520 #69773] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:19 +0200
60
- I, [2018-03-13T22:25:22.425417 #69780] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:22 +0200
61
- I, [2018-03-13T22:25:22.429369 #69780] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-03-13 22:25:22 +0200
62
- I, [2018-04-24T23:54:45.990614 #56787] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:45 +0300
63
- I, [2018-04-24T23:54:46.000997 #56787] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:46 +0300
64
- I, [2018-04-24T23:54:51.691821 #56835] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:51 +0300
65
- I, [2018-04-24T23:54:51.703559 #56835] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:51 +0300
66
- I, [2018-04-24T23:54:55.783263 #56885] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:55 +0300
67
- I, [2018-04-24T23:54:55.787896 #56885] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-24 23:54:55 +0300
68
- I, [2018-04-25T00:00:15.262401 #59573] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:00:15 +0300
69
- I, [2018-04-25T00:00:15.268608 #59573] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:00:15 +0300
70
- I, [2018-04-25T00:07:31.673037 #63234] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:07:31 +0300
71
- I, [2018-04-25T00:07:31.682855 #63234] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:07:31 +0300
72
- I, [2018-04-25T00:08:47.589229 #63857] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:08:47 +0300
73
- I, [2018-04-25T00:08:47.596643 #63857] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:08:47 +0300
74
- I, [2018-04-25T00:08:58.855994 #63961] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:08:58 +0300
75
- I, [2018-04-25T00:08:58.863090 #63961] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:08:58 +0300
76
- I, [2018-04-25T00:38:43.511002 #78948] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:38:43 +0300
77
- F, [2018-04-25T00:38:43.512861 #78948] FATAL -- :
78
- F, [2018-04-25T00:38:43.514548 #78948] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007f8ceba814a0>):
79
- F, [2018-04-25T00:38:43.514605 #78948] FATAL -- :
80
- F, [2018-04-25T00:38:43.514635 #78948] FATAL -- : lib/mailgun/tracking/signature.rb:26:in `initialize'
81
- lib/mailgun/tracking/signature.rb:15:in `new'
82
- lib/mailgun/tracking/signature.rb:15:in `verify!'
83
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
84
- lib/mailgun/tracking/middleware.rb:36:in `handle_event'
1
+ # Logfile created on 2019-10-16 14:23:57 +0300 by logger.rb/66358
2
+ I, [2019-10-16T14:23:57.963086 #9298] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 14:23:57 +0300
3
+ I, [2019-10-16T14:23:57.966124 #9298] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 14:23:57 +0300
4
+ I, [2019-10-16T16:59:48.896283 #12252] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 16:59:48 +0300
5
+ I, [2019-10-16T16:59:48.901335 #12252] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 16:59:48 +0300
6
+ I, [2019-10-16T17:00:24.034817 #12268] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:00:24 +0300
7
+ F, [2019-10-16T17:00:24.036968 #12268] FATAL -- :
8
+ NameError (undefined local variable or method `byebug' for #<Mailgun::Tracking::Middleware:0x00007fa1e4122950>):
9
+
10
+ lib/mailgun/tracking/middleware.rb:25:in `_call'
85
11
  lib/mailgun/tracking/middleware.rb:20:in `call'
86
- I, [2018-04-25T00:38:43.547794 #78948] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:38:43 +0300
87
- F, [2018-04-25T00:38:43.549697 #78948] FATAL -- :
88
- F, [2018-04-25T00:38:43.551181 #78948] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007f8cecdae438>):
89
- F, [2018-04-25T00:38:43.551248 #78948] FATAL -- :
90
- F, [2018-04-25T00:38:43.551277 #78948] FATAL -- : lib/mailgun/tracking/signature.rb:26:in `initialize'
91
- lib/mailgun/tracking/signature.rb:15:in `new'
92
- lib/mailgun/tracking/signature.rb:15:in `verify!'
93
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
94
- lib/mailgun/tracking/middleware.rb:36:in `handle_event'
12
+ I, [2019-10-16T17:00:24.064195 #12268] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:00:24 +0300
13
+ F, [2019-10-16T17:00:24.066858 #12268] FATAL -- :
14
+ NameError (undefined local variable or method `byebug' for #<Mailgun::Tracking::Middleware:0x00007fa1e51220d0>):
15
+
16
+ lib/mailgun/tracking/middleware.rb:25:in `_call'
95
17
  lib/mailgun/tracking/middleware.rb:20:in `call'
96
- I, [2018-04-25T00:48:43.869200 #83812] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:48:43 +0300
97
- F, [2018-04-25T00:48:43.870774 #83812] FATAL -- :
98
- F, [2018-04-25T00:48:43.872805 #83812] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
99
- F, [2018-04-25T00:48:43.872870 #83812] FATAL -- :
100
- F, [2018-04-25T00:48:43.872901 #83812] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
101
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
102
- lib/mailgun/tracking/middleware.rb:36:in `handle_event'
18
+ I, [2019-10-16T17:00:40.123028 #12291] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:00:40 +0300
19
+ F, [2019-10-16T17:00:40.132743 #12291] FATAL -- :
20
+ LoadError (cannot load such file -- byebug):
21
+
22
+ lib/mailgun/tracking/middleware.rb:25:in `_call'
103
23
  lib/mailgun/tracking/middleware.rb:20:in `call'
104
- I, [2018-04-25T00:48:43.889608 #83812] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:48:43 +0300
105
- F, [2018-04-25T00:48:43.890865 #83812] FATAL -- :
106
- F, [2018-04-25T00:48:43.893656 #83812] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
107
- F, [2018-04-25T00:48:43.893905 #83812] FATAL -- :
108
- F, [2018-04-25T00:48:43.893958 #83812] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
109
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
110
- lib/mailgun/tracking/middleware.rb:36:in `handle_event'
24
+ I, [2019-10-16T17:00:40.154766 #12291] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:00:40 +0300
25
+ F, [2019-10-16T17:00:40.157648 #12291] FATAL -- :
26
+ LoadError (cannot load such file -- byebug):
27
+
28
+ lib/mailgun/tracking/middleware.rb:25:in `_call'
111
29
  lib/mailgun/tracking/middleware.rb:20:in `call'
112
- I, [2018-04-25T00:53:34.805027 #86157] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:53:34 +0300
113
- F, [2018-04-25T00:53:34.807247 #86157] FATAL -- :
114
- F, [2018-04-25T00:53:34.810283 #86157] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
115
- F, [2018-04-25T00:53:34.810349 #86157] FATAL -- :
116
- F, [2018-04-25T00:53:34.810377 #86157] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
117
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
118
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
119
- lib/mailgun/tracking/middleware.rb:24:in `call'
120
- I, [2018-04-25T00:53:34.843504 #86157] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:53:34 +0300
121
- F, [2018-04-25T00:53:34.844661 #86157] FATAL -- :
122
- F, [2018-04-25T00:53:34.846829 #86157] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
123
- F, [2018-04-25T00:53:34.846880 #86157] FATAL -- :
124
- F, [2018-04-25T00:53:34.846916 #86157] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
125
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
126
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
127
- lib/mailgun/tracking/middleware.rb:24:in `call'
128
- I, [2018-04-25T00:53:52.418577 #86317] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:53:52 +0300
129
- F, [2018-04-25T00:53:52.421746 #86317] FATAL -- :
130
- F, [2018-04-25T00:53:52.422655 #86317] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007f805be0b748>):
131
- F, [2018-04-25T00:53:52.422713 #86317] FATAL -- :
132
- F, [2018-04-25T00:53:52.422754 #86317] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
133
- I, [2018-04-25T00:53:52.440588 #86317] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:53:52 +0300
134
- F, [2018-04-25T00:53:52.442091 #86317] FATAL -- :
135
- F, [2018-04-25T00:53:52.443770 #86317] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007f805bbf0e90>):
136
- F, [2018-04-25T00:53:52.443907 #86317] FATAL -- :
137
- F, [2018-04-25T00:53:52.443978 #86317] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
138
- I, [2018-04-25T00:54:12.690958 #86480] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:54:12 +0300
139
- F, [2018-04-25T00:54:12.693626 #86480] FATAL -- :
140
- F, [2018-04-25T00:54:12.695061 #86480] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007ff19b999e38>):
141
- F, [2018-04-25T00:54:12.695282 #86480] FATAL -- :
142
- F, [2018-04-25T00:54:12.695543 #86480] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
143
- I, [2018-04-25T00:54:12.720314 #86480] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:54:12 +0300
144
- F, [2018-04-25T00:54:12.724327 #86480] FATAL -- :
145
- F, [2018-04-25T00:54:12.726678 #86480] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007ff19aac9728>):
146
- F, [2018-04-25T00:54:12.726765 #86480] FATAL -- :
147
- F, [2018-04-25T00:54:12.726807 #86480] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
148
- I, [2018-04-25T00:54:35.111183 #86674] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:54:35 +0300
149
- F, [2018-04-25T00:54:35.112388 #86674] FATAL -- :
150
- F, [2018-04-25T00:54:35.118882 #86674] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007fc9d6beb2a0>):
151
- F, [2018-04-25T00:54:35.119460 #86674] FATAL -- :
152
- F, [2018-04-25T00:54:35.119694 #86674] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
153
- I, [2018-04-25T00:54:35.162204 #86674] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:54:35 +0300
154
- F, [2018-04-25T00:54:35.163190 #86674] FATAL -- :
155
- F, [2018-04-25T00:54:35.167260 #86674] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007fc9d72497c8>):
156
- F, [2018-04-25T00:54:35.167365 #86674] FATAL -- :
157
- F, [2018-04-25T00:54:35.167403 #86674] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
158
- I, [2018-04-25T00:56:19.898594 #87530] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:56:19 +0300
159
- F, [2018-04-25T00:56:19.899799 #87530] FATAL -- :
160
- F, [2018-04-25T00:56:19.901352 #87530] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007fceee989300>):
161
- F, [2018-04-25T00:56:19.901480 #87530] FATAL -- :
162
- F, [2018-04-25T00:56:19.901564 #87530] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
163
- I, [2018-04-25T00:56:19.920298 #87530] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:56:19 +0300
164
- F, [2018-04-25T00:56:19.921323 #87530] FATAL -- :
165
- F, [2018-04-25T00:56:19.923080 #87530] FATAL -- : NoMethodError (undefined method `fetch' for #<Mailgun::Tracking::Payload:0x007fceee15e630>):
166
- F, [2018-04-25T00:56:19.923140 #87530] FATAL -- :
167
- F, [2018-04-25T00:56:19.923170 #87530] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
168
- I, [2018-04-25T00:56:40.364193 #87701] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:56:40 +0300
169
- F, [2018-04-25T00:56:40.369388 #87701] FATAL -- :
170
- F, [2018-04-25T00:56:40.372063 #87701] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
171
- F, [2018-04-25T00:56:40.372275 #87701] FATAL -- :
172
- F, [2018-04-25T00:56:40.372395 #87701] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
173
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
174
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
175
- lib/mailgun/tracking/middleware.rb:24:in `call'
176
- I, [2018-04-25T00:56:40.397076 #87701] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:56:40 +0300
177
- F, [2018-04-25T00:56:40.410666 #87701] FATAL -- :
178
- F, [2018-04-25T00:56:40.412877 #87701] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
179
- F, [2018-04-25T00:56:40.412945 #87701] FATAL -- :
180
- F, [2018-04-25T00:56:40.412976 #87701] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
181
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
182
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
183
- lib/mailgun/tracking/middleware.rb:24:in `call'
184
- I, [2018-04-25T00:57:36.260230 #88155] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:57:36 +0300
185
- F, [2018-04-25T00:57:36.262725 #88155] FATAL -- :
186
- F, [2018-04-25T00:57:36.265357 #88155] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
187
- F, [2018-04-25T00:57:36.265430 #88155] FATAL -- :
188
- F, [2018-04-25T00:57:36.265463 #88155] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
189
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
190
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
191
- lib/mailgun/tracking/middleware.rb:24:in `call'
192
- I, [2018-04-25T00:57:36.285782 #88155] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 00:57:36 +0300
193
- F, [2018-04-25T00:57:36.286942 #88155] FATAL -- :
194
- F, [2018-04-25T00:57:36.290573 #88155] FATAL -- : NameError (undefined local variable or method `byebug' for Mailgun::Tracking::Signature:Class):
195
- F, [2018-04-25T00:57:36.290683 #88155] FATAL -- :
196
- F, [2018-04-25T00:57:36.290738 #88155] FATAL -- : lib/mailgun/tracking/signature.rb:15:in `verify!'
197
- lib/mailgun/tracking/notifier.rb:49:in `broadcast'
198
- lib/mailgun/tracking/middleware.rb:40:in `handle_event'
199
- lib/mailgun/tracking/middleware.rb:24:in `call'
200
- I, [2018-04-25T01:00:24.482163 #89518] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:00:24 +0300
201
- F, [2018-04-25T01:00:24.483351 #89518] FATAL -- :
202
- F, [2018-04-25T01:00:24.484093 #89518] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007f7fec629350>):
203
- F, [2018-04-25T01:00:24.484132 #89518] FATAL -- :
204
- F, [2018-04-25T01:00:24.484160 #89518] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
205
- I, [2018-04-25T01:00:24.500588 #89518] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:00:24 +0300
206
- F, [2018-04-25T01:00:24.501884 #89518] FATAL -- :
207
- F, [2018-04-25T01:00:24.503478 #89518] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007f7fec98fd00>):
208
- F, [2018-04-25T01:00:24.503569 #89518] FATAL -- :
209
- F, [2018-04-25T01:00:24.503604 #89518] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
210
- I, [2018-04-25T01:06:18.020376 #92376] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:06:18 +0300
211
- F, [2018-04-25T01:06:18.022654 #92376] FATAL -- :
212
- F, [2018-04-25T01:06:18.023686 #92376] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fe17257e8f0>):
213
- F, [2018-04-25T01:06:18.023752 #92376] FATAL -- :
214
- F, [2018-04-25T01:06:18.023782 #92376] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
215
- I, [2018-04-25T01:06:18.046236 #92376] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:06:18 +0300
216
- F, [2018-04-25T01:06:18.050229 #92376] FATAL -- :
217
- F, [2018-04-25T01:06:18.051960 #92376] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fe17227f6e0>):
218
- F, [2018-04-25T01:06:18.052053 #92376] FATAL -- :
219
- F, [2018-04-25T01:06:18.052166 #92376] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
220
- I, [2018-04-25T01:08:11.572026 #93296] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:08:11 +0300
221
- F, [2018-04-25T01:08:11.573663 #93296] FATAL -- :
222
- F, [2018-04-25T01:08:11.574775 #93296] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007faf30b14068>):
223
- F, [2018-04-25T01:08:11.574851 #93296] FATAL -- :
224
- F, [2018-04-25T01:08:11.574881 #93296] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
225
- I, [2018-04-25T01:08:11.616464 #93296] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:08:11 +0300
226
- F, [2018-04-25T01:08:11.618955 #93296] FATAL -- :
227
- F, [2018-04-25T01:08:11.621841 #93296] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007faf3121d0f8>):
228
- F, [2018-04-25T01:08:11.621983 #93296] FATAL -- :
229
- F, [2018-04-25T01:08:11.622034 #93296] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
230
- I, [2018-04-25T01:13:21.005144 #95792] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:13:21 +0300
231
- F, [2018-04-25T01:13:21.006914 #95792] FATAL -- :
232
- F, [2018-04-25T01:13:21.008123 #95792] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fd8ffb037b0>):
233
- F, [2018-04-25T01:13:21.008248 #95792] FATAL -- :
234
- F, [2018-04-25T01:13:21.008302 #95792] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
235
- I, [2018-04-25T01:13:21.038503 #95792] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:13:21 +0300
236
- F, [2018-04-25T01:13:21.039845 #95792] FATAL -- :
237
- F, [2018-04-25T01:13:21.040729 #95792] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fd900937958>):
238
- F, [2018-04-25T01:13:21.040800 #95792] FATAL -- :
239
- F, [2018-04-25T01:13:21.040831 #95792] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
240
- I, [2018-04-25T01:17:15.396272 #97683] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:17:15 +0300
241
- F, [2018-04-25T01:17:15.403730 #97683] FATAL -- :
242
- F, [2018-04-25T01:17:15.405512 #97683] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fcde4c50d78>):
243
- F, [2018-04-25T01:17:15.405604 #97683] FATAL -- :
244
- F, [2018-04-25T01:17:15.405647 #97683] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
245
- I, [2018-04-25T01:17:15.445812 #97683] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:17:15 +0300
246
- F, [2018-04-25T01:17:15.447281 #97683] FATAL -- :
247
- F, [2018-04-25T01:17:15.448444 #97683] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007fcde621f640>):
248
- F, [2018-04-25T01:17:15.448509 #97683] FATAL -- :
249
- F, [2018-04-25T01:17:15.448548 #97683] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
250
- I, [2018-04-25T01:21:59.959527 #107] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:21:59 +0300
251
- F, [2018-04-25T01:21:59.960780 #107] FATAL -- :
252
- F, [2018-04-25T01:21:59.961522 #107] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007ff84c37c6d8>):
253
- F, [2018-04-25T01:21:59.961581 #107] FATAL -- :
254
- F, [2018-04-25T01:21:59.961614 #107] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
255
- I, [2018-04-25T01:21:59.979076 #107] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:21:59 +0300
256
- F, [2018-04-25T01:21:59.980047 #107] FATAL -- :
257
- F, [2018-04-25T01:21:59.980745 #107] FATAL -- : NoMethodError (undefined method `aaaaa' for #<Mailgun::Tracking::Payload:0x007ff84bafc2d8>):
258
- F, [2018-04-25T01:21:59.980776 #107] FATAL -- :
259
- F, [2018-04-25T01:21:59.980798 #107] FATAL -- : lib/mailgun/tracking/middleware.rb:20:in `call'
260
- I, [2018-04-25T01:25:18.509356 #1957] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:25:18 +0300
261
- I, [2018-04-25T01:25:18.512813 #1957] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-25 01:25:18 +0300
262
- I, [2018-04-26T21:42:44.416704 #41944] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-26 21:42:44 +0300
263
- I, [2018-04-26T21:42:44.428936 #41944] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-26 21:42:44 +0300
264
- I, [2018-04-26T22:52:44.142521 #49169] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-26 22:52:44 +0300
265
- I, [2018-04-26T22:52:44.146943 #49169] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2018-04-26 22:52:44 +0300
30
+ I, [2019-10-16T17:01:20.206080 #12320] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:01:20 +0300
31
+ F, [2019-10-16T17:18:16.030799 #12320] FATAL -- :
32
+ SystemExit (exit):
33
+
34
+ (byebug):1:in `exit'
35
+ (byebug):1:in `_call'
36
+ lib/mailgun/tracking/middleware.rb:29:in `_call'
37
+ lib/mailgun/tracking/middleware.rb:22:in `call'
38
+ I, [2019-10-16T17:18:16.198543 #12320] INFO -- : Started POST "/mailgun" for 127.0.0.1 at 2019-10-16 17:18:16 +0300
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sinatra/base'
2
4
 
3
5
  module Dummy
@@ -1,4 +1,5 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
+
2
3
  require 'dummy/rack/application'
3
4
 
4
5
  RSpec.describe 'Rack', type: :integration do
@@ -1,4 +1,5 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
+
2
3
  require 'dummy/rails/application'
3
4
 
4
5
  RSpec.describe 'Rails', type: :integration do
@@ -1,4 +1,5 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
+
2
3
  require 'dummy/sinatra/application'
3
4
 
4
5
  RSpec.describe 'Sinatra', type: :integration do
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Configuration do
4
4
  subject(:configuration) { described_class.instance }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Listener do
4
4
  subject(:listener) { described_class.new }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Middleware do
4
4
  subject(:rack) { described_class.new(app) }
@@ -23,6 +23,7 @@ RSpec.describe Mailgun::Tracking::Middleware do
23
23
  end
24
24
 
25
25
  it { expect(rack.call(env)).to include(200) }
26
+
26
27
  it do
27
28
  rack.call(env)
28
29
  expect(Mailgun::Tracking).not_to have_received(:notifier)
@@ -39,6 +40,7 @@ RSpec.describe Mailgun::Tracking::Middleware do
39
40
  end
40
41
 
41
42
  it { expect(rack.call(env)).to include(400) }
43
+
42
44
  it do
43
45
  rack.call(env)
44
46
  expect(Mailgun::Tracking).to have_received(:notifier)
@@ -55,6 +57,7 @@ RSpec.describe Mailgun::Tracking::Middleware do
55
57
  end
56
58
 
57
59
  it { expect(rack.call(env)).to include(200) }
60
+
58
61
  it do
59
62
  rack.call(env)
60
63
  expect(Mailgun::Tracking).to have_received(:notifier)
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Notifier do
4
4
  subject(:notifier) { described_class.new(listener) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Payload do
4
4
  subject(:payload) { described_class.new(options) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Request do
4
4
  subject(:request) { described_class.new(env) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Signature do
4
4
  subject(:signature) { described_class.new(payload) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Subscriber::AllMessages do
4
4
  subject(:subscriber) { described_class.new(callable) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Subscriber::Evented do
4
4
  subject(:subscriber) { described_class.new('delivered', callable) }
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Subscriber do
4
4
  describe '.for' do
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Util do
4
4
  describe '.normalize' do
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking::Version do
4
4
  before do
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Mailgun::Tracking do
4
4
  it { is_expected.to respond_to(:api_key) }
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rack/test'
2
4
  require 'bundler/setup'
3
5
  require 'mailgun/tracking'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  class FixtureFinder
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RackHelpers
2
4
  def env_for(url, options = {})
3
5
  Rack::MockRequest.env_for(url, options)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Delivered
2
4
  def call(payload); end
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.shared_examples 'subscriber' do
2
4
  describe '#call' do
3
5
  let(:callable) { proc {} }
@@ -1,5 +1,9 @@
1
- require 'simplecov'
1
+ # frozen_string_literal: true
2
2
 
3
- SimpleCov.start do
4
- add_filter('integration')
3
+ if ENV['COVERAGE'] == 'true'
4
+ require 'simplecov'
5
+
6
+ SimpleCov.start do
7
+ add_filter('integration')
8
+ end
5
9
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailgun-tracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Chubchenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-11 00:00:00.000000000 Z
11
+ date: 2019-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.6.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: appraisal
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,115 +53,103 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.16'
41
55
  - !ruby/object:Gem::Dependency
42
- name: codeclimate-test-reporter
56
+ name: rack-test
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '1.0'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 1.0.8
61
+ version: '0'
51
62
  type: :development
52
63
  prerelease: false
53
64
  version_requirements: !ruby/object:Gem::Requirement
54
65
  requirements:
55
66
  - - "~>"
56
67
  - !ruby/object:Gem::Version
57
- version: '1.0'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 1.0.8
68
+ version: '0'
61
69
  - !ruby/object:Gem::Dependency
62
- name: rack-test
70
+ name: rake
63
71
  requirement: !ruby/object:Gem::Requirement
64
72
  requirements:
65
73
  - - "~>"
66
74
  - !ruby/object:Gem::Version
67
- version: '0'
75
+ version: '13.0'
68
76
  type: :development
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
71
79
  requirements:
72
80
  - - "~>"
73
81
  - !ruby/object:Gem::Version
74
- version: '0'
82
+ version: '13.0'
75
83
  - !ruby/object:Gem::Dependency
76
- name: rake
84
+ name: rspec
77
85
  requirement: !ruby/object:Gem::Requirement
78
86
  requirements:
79
87
  - - "~>"
80
88
  - !ruby/object:Gem::Version
81
- version: '10.0'
89
+ version: '3.7'
82
90
  type: :development
83
91
  prerelease: false
84
92
  version_requirements: !ruby/object:Gem::Requirement
85
93
  requirements:
86
94
  - - "~>"
87
95
  - !ruby/object:Gem::Version
88
- version: '10.0'
96
+ version: '3.7'
89
97
  - !ruby/object:Gem::Dependency
90
- name: rspec
98
+ name: rubocop
91
99
  requirement: !ruby/object:Gem::Requirement
92
100
  requirements:
93
101
  - - "~>"
94
102
  - !ruby/object:Gem::Version
95
- version: '3.7'
103
+ version: 0.75.1
96
104
  type: :development
97
105
  prerelease: false
98
106
  version_requirements: !ruby/object:Gem::Requirement
99
107
  requirements:
100
108
  - - "~>"
101
109
  - !ruby/object:Gem::Version
102
- version: '3.7'
110
+ version: 0.75.1
103
111
  - !ruby/object:Gem::Dependency
104
- name: rubocop
112
+ name: rubocop-performance
105
113
  requirement: !ruby/object:Gem::Requirement
106
114
  requirements:
107
115
  - - "~>"
108
116
  - !ruby/object:Gem::Version
109
- version: 0.55.0
117
+ version: '1.5'
110
118
  type: :development
111
119
  prerelease: false
112
120
  version_requirements: !ruby/object:Gem::Requirement
113
121
  requirements:
114
122
  - - "~>"
115
123
  - !ruby/object:Gem::Version
116
- version: 0.55.0
124
+ version: '1.5'
117
125
  - !ruby/object:Gem::Dependency
118
126
  name: rubocop-rspec
119
127
  requirement: !ruby/object:Gem::Requirement
120
128
  requirements:
121
129
  - - "~>"
122
130
  - !ruby/object:Gem::Version
123
- version: '1.25'
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: 1.25.1
131
+ version: '1.36'
127
132
  type: :development
128
133
  prerelease: false
129
134
  version_requirements: !ruby/object:Gem::Requirement
130
135
  requirements:
131
136
  - - "~>"
132
137
  - !ruby/object:Gem::Version
133
- version: '1.25'
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: 1.25.1
138
+ version: '1.36'
137
139
  - !ruby/object:Gem::Dependency
138
140
  name: simplecov
139
141
  requirement: !ruby/object:Gem::Requirement
140
142
  requirements:
141
143
  - - "~>"
142
144
  - !ruby/object:Gem::Version
143
- version: 0.12.0
145
+ version: 0.17.1
144
146
  type: :development
145
147
  prerelease: false
146
148
  version_requirements: !ruby/object:Gem::Requirement
147
149
  requirements:
148
150
  - - "~>"
149
151
  - !ruby/object:Gem::Version
150
- version: 0.12.0
152
+ version: 0.17.1
151
153
  description: Integration with Mailgun Webhooks
152
154
  email:
153
155
  - artem.chubchenko@gmail.com
@@ -211,15 +213,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
213
  requirements:
212
214
  - - ">="
213
215
  - !ruby/object:Gem::Version
214
- version: 2.2.0
216
+ version: 2.4.0
215
217
  required_rubygems_version: !ruby/object:Gem::Requirement
216
218
  requirements:
217
219
  - - ">="
218
220
  - !ruby/object:Gem::Version
219
221
  version: '0'
220
222
  requirements: []
221
- rubyforge_project:
222
- rubygems_version: 2.6.12
223
+ rubygems_version: 3.0.6
223
224
  signing_key:
224
225
  specification_version: 4
225
226
  summary: Integration with Mailgun Webhooks