asana_exception_notifier 2.0.1 → 2.0.2

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: f0d6dfd357e033033120129439ce193e2f8fbded
4
- data.tar.gz: 895de9e1c793f941c28ebd3c25b0592b13de6cbb
3
+ metadata.gz: fa87992120947537e88ed0a57ece081af0956d7c
4
+ data.tar.gz: f3f6796daf10ce205baff850595b10e457bc4eb0
5
5
  SHA512:
6
- metadata.gz: 54232217e0a0fa6c30baf02fdf8fc1b5869c5c2e93b4901c1297144d63de12ee6e73f7f0559d6647995658523f0d404e3eac41bd20a1694c05fec3ffce101684
7
- data.tar.gz: 489d24875bd78f339e85d6501ed949caf121c8d631470f0ac273f2c43e91006ecb25f67dd4aa3985a5ec4492f1669252f0aefe12b969245cf18c4c988e4f4281
6
+ metadata.gz: 540f261a4d38ee7698df548166dd1a57023a05b297be4abb3c8933d422f9d771768c9800e48cf6c0fa79b6f762ba5642b1d1f2074a0ffb819744db199775dd23
7
+ data.tar.gz: de084279d2b3dea1231d088a133af6007e8cd67ecaf225e1f01def94c65df12f4dd8cbc3d51077755ba9c826d0ddda2d479b3308c417ea1f438970d467405dbe
data/.travis.yml CHANGED
@@ -31,6 +31,12 @@ matrix:
31
31
  gemfile: gemfiles/rails_4.1.1.gemfile
32
32
  - rvm: 2.4.0
33
33
  gemfile: gemfiles/rails_4.2.0.gemfile
34
+ - rvm: 2.4.1
35
+ gemfile: gemfiles/rails_4.0.0.gemfile
36
+ - rvm: 2.4.1
37
+ gemfile: gemfiles/rails_4.1.1.gemfile
38
+ - rvm: 2.4.1
39
+ gemfile: gemfiles/rails_4.2.0.gemfile
34
40
  rvm:
35
41
  - 2.2.2
36
42
  - 2.2.5
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency 'typhoeus', '~> 1.1', '>= 1.1.2'
32
32
  s.add_runtime_dependency 'exception_notification', '~> 4.2', '>= 4.2.1'
33
33
  s.add_runtime_dependency 'tilt', '>= 1.4', '< 3'
34
- s.add_runtime_dependency 'rack', '>= 1.5', '<= 3'
34
+ s.add_runtime_dependency 'rack', '>= 1.5', '< 3.0'
35
35
  s.add_runtime_dependency 'rubyzip', '~> 1.2', '>= 1.2.0' # will load new rubyzip version
36
36
  s.add_runtime_dependency 'zip-zip', '~> 0.3', '>= 0.3' # will load compatibility for old rubyzip API
37
37
  s.add_runtime_dependency 'sys-uname', '~> 1.0', '>= 1.0.3'
@@ -18,7 +18,7 @@ module AsanaExceptionNotifier
18
18
  # minor release version
19
19
  MINOR = 0
20
20
  # tiny release version
21
- TINY = 1
21
+ TINY = 2
22
22
  # prelease version ( set this only if it is a prelease)
23
23
  PRE = nil
24
24
 
@@ -0,0 +1,20 @@
1
+ # IMPORTANT !!!! DON'T use code from this file , this is done so that manually testing the gem would be easier.
2
+ # Manual tests are done with command: ruby spec/manual_tests/test_notification.rb , which should send a notification to Asana
3
+ # about an error occuring , if the system has configured properly the ASANA_API_KEY and ASANA_WORKSPACE_ID environment variables
4
+
5
+ module Subscribers
6
+ class Base
7
+
8
+ attr_reader :event
9
+
10
+ def initialize(*args)
11
+ @event = ActiveSupport::Notifications::Event.new(*args)
12
+ process
13
+ end
14
+
15
+ def process
16
+ raise NotImplementedError
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # IMPORTANT !!!! DON'T use code from this file , this is done so that manually testing the gem would be easier.
2
+ # Manual tests are done with command: ruby spec/manual_tests/test_notification.rb , which should send a notification to Asana
3
+ # about an error occuring , if the system has configured properly the ASANA_API_KEY and ASANA_WORKSPACE_ID environment variables
4
+
5
+ require_relative './base'
6
+ module Subscribers
7
+ class Metrics < Base
8
+
9
+ def process
10
+ payload = event.payload
11
+ dur = event.duration
12
+ url = payload[:url]
13
+ http_method = payload[:method].to_s.upcase
14
+ $stderr.puts '[%s] %s %s (%.3f s)' % [url.host, http_method, url.request_uri, dur]
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,43 @@
1
+ require_relative '../../lib/asana_exception_notifier'
2
+
3
+ # IMPORTANT !!!! DON'T use code from this file , this is done so that manually testing the gem would be easier.
4
+ # Manual tests are done with command: ruby spec/manual_tests/test_notification.rb , which should send a notification to Asana
5
+ # about an error occuring , if the system has configured properly the ASANA_API_KEY and ASANA_WORKSPACE_ID environment variables
6
+
7
+
8
+ # DON'T use this Code from this file. This is done so that manual testing the gem would be easier.
9
+ # The initialize method is overriden here so that we can see the resulting HTML generated before it gets archived
10
+ # This helps when modifying the error page template manually and trying to see if the result is the expected one.
11
+ AsanaExceptionNotifier::ErrorPage.class_eval do
12
+ alias_method :original_initialize, :initialize
13
+
14
+ def initialize(*args)
15
+ original_initialize(*args)
16
+ debug_html_template if ENV['DEBUG_ASANA_TEMPLATE']
17
+ end
18
+
19
+ def debug_html_template
20
+ _filename, path = create_tempfile
21
+ system("google-chrome #{path}")
22
+ sleep until 0 == 1
23
+ end
24
+ end
25
+
26
+ # DON'T require this manually, this is done here so that the gem will be configured with defaults while manually testing the gem
27
+ # This should already be included in your app if you have followed the Readme and executed "rails g asana_exception_notifier:install"
28
+ require_relative '../../lib/generators/asana_exception_notifier/templates/asana_exception_notifier'
29
+
30
+ # Constructing the error we want to send during our manual tests
31
+ exception = StandardError.new
32
+
33
+
34
+ # FOR manual tests we are interested in duration of each request so we are registering subscribers for request.
35
+ # This should not be done for production applications. This is used only for testing connections
36
+ require_relative './subscribers/metrics'
37
+ ActiveSupport::Notifications.subscribe('request.faraday') do |*args|
38
+ Subscribers::Metrics.new(*args)
39
+ end
40
+
41
+ # Finally send our notification manually
42
+ # This can be done manually in applications too, when rescueing from an exception
43
+ ExceptionNotifier.notify_exception(exception, notifiers: :asana)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asana_exception_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - bogdanRada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-10 00:00:00.000000000 Z
11
+ date: 2017-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -111,9 +111,9 @@ dependencies:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
113
  version: '1.5'
114
- - - "<="
114
+ - - "<"
115
115
  - !ruby/object:Gem::Version
116
- version: '3'
116
+ version: '3.0'
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
@@ -121,9 +121,9 @@ dependencies:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '1.5'
124
- - - "<="
124
+ - - "<"
125
125
  - !ruby/object:Gem::Version
126
- version: '3'
126
+ version: '3.0'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: rubyzip
129
129
  requirement: !ruby/object:Gem::Requirement
@@ -436,10 +436,10 @@ files:
436
436
  - lib/generators/asana_exception_notifier/install_generator.rb
437
437
  - lib/generators/asana_exception_notifier/templates/asana_exception_notifier.rb
438
438
  - spec/lib/asana_exception_notifier/classes/asana_spec.rb
439
+ - spec/manual_tests/subscribers/base.rb
440
+ - spec/manual_tests/subscribers/metrics.rb
441
+ - spec/manual_tests/test_notification.rb
439
442
  - spec/spec_helper.rb
440
- - spec/subscribers/base.rb
441
- - spec/subscribers/metrics.rb
442
- - spec/test_notification.rb
443
443
  homepage: http://github.com/bogdanRada/asana_exception_notifier
444
444
  licenses:
445
445
  - MIT
@@ -470,8 +470,8 @@ summary: Simple ruby implementation to send notifications to Asana when a except
470
470
  to the task
471
471
  test_files:
472
472
  - spec/lib/asana_exception_notifier/classes/asana_spec.rb
473
+ - spec/manual_tests/subscribers/base.rb
474
+ - spec/manual_tests/subscribers/metrics.rb
475
+ - spec/manual_tests/test_notification.rb
473
476
  - spec/spec_helper.rb
474
- - spec/subscribers/base.rb
475
- - spec/subscribers/metrics.rb
476
- - spec/test_notification.rb
477
477
  has_rdoc:
@@ -1,16 +0,0 @@
1
- module Subscribers
2
- class Base
3
-
4
- attr_reader :event
5
-
6
- def initialize(*args)
7
- @event = ActiveSupport::Notifications::Event.new(*args)
8
- process
9
- end
10
-
11
- def process
12
- raise NotImplementedError
13
- end
14
-
15
- end
16
- end
@@ -1,14 +0,0 @@
1
- require_relative './base'
2
- module Subscribers
3
- class Metrics < Base
4
-
5
- def process
6
- payload = event.payload
7
- dur = event.duration
8
- url = payload[:url]
9
- http_method = payload[:method].to_s.upcase
10
- $stderr.puts '[%s] %s %s (%.3f s)' % [url.host, http_method, url.request_uri, dur]
11
- end
12
-
13
- end
14
- end
@@ -1,27 +0,0 @@
1
- require_relative '../lib/asana_exception_notifier'
2
-
3
- AsanaExceptionNotifier::ErrorPage.class_eval do
4
- alias_method :original_initialize, :initialize
5
-
6
- def initialize(*args)
7
- original_initialize(*args)
8
- debug_html_template if ENV['DEBUG_ASANA_TEMPLATE']
9
- end
10
-
11
- def debug_html_template
12
- _filename, path = create_tempfile
13
- system("google-chrome #{path}")
14
- sleep until 0 == 1
15
- end
16
- end
17
-
18
- require_relative '../lib/generators/asana_exception_notifier/templates/asana_exception_notifier'
19
- exception = StandardError.new
20
-
21
- require_relative './subscribers/metrics'
22
-
23
- ActiveSupport::Notifications.subscribe('request.faraday') do |*args|
24
- Subscribers::Metrics.new(*args)
25
- end
26
-
27
- ExceptionNotifier.notify_exception(exception, notifiers: :asana)