error-message-tracker 0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/error-message-tracker.rb +50 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 658099dd740751cf7060d0fc078ffecb60300fd7
4
+ data.tar.gz: 9e8133eba5cb4f4d67af2afbc52555c7be37b460
5
+ SHA512:
6
+ metadata.gz: 6af2dd8d0f66f2801e0ec0a61ad2b0b6ec4d1996f1e3e7a8d560cf0578abc5a375c66ebfa2316b4b45f21f08f9ce4b717e41e4ff6df69fc88d86c2836bd77566
7
+ data.tar.gz: 5c9cc2a8f0b29f152f1ec137c922a57ed9201f66903bc26fb8de27e5b8c158aded1a63af5088a7d585845fa49540eb7fbf70dd3dfdc955a310feffae8d38a8d7
@@ -0,0 +1,50 @@
1
+ class ErrorMessageTracker
2
+ def self.setup(appName, token)
3
+ ErrorMessageTracker.const_set("APP_NAME", appName)
4
+ ErrorMessageTracker.const_set("TOKEN", token)
5
+ klass = Class.new do
6
+
7
+ def initialize(app)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ begin
13
+ @app.call(env)
14
+ rescue Exception => ex
15
+ bc = ActiveSupport::BacktraceCleaner.new
16
+ bc.add_filter { |line| line.gsub(Rails.root.to_s, '') } # strip the Rails.root prefix
17
+ bc.add_silencer { |line| line =~ /rbenv|error-message-tracker/ } # skip any lines from mongrel or rubygems
18
+ # perform the cleanup
19
+
20
+
21
+ files = {}
22
+ bc.clean(ex.backtrace).each do | line |
23
+ file_name = Rails.root.join(line.split(":")[0].gsub(/\A\//, ''))
24
+ file = File.open(file_name.to_s)
25
+ files[line.split(":")[0]] = file.read
26
+ file.close
27
+ end
28
+
29
+ HTTParty.post("http://localhost:3333/mistakes", {body: {
30
+ mistake: {
31
+ token: TOKEN,
32
+ app_name: APP_NAME,
33
+ title: ex.message,
34
+ stack_trace: bc.clean(ex.backtrace).to_json,
35
+ file_data: files.to_json
36
+ }
37
+ }}
38
+ )
39
+ raise ex
40
+ end
41
+ end
42
+
43
+ end
44
+ ErrorMessageTracker.const_set("Application", klass)
45
+
46
+ end
47
+
48
+
49
+
50
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: error-message-tracker
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ken Mazaika
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-09-28 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: An error message reporter
14
+ email: ken@thefirehoseproject.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/error-message-tracker.rb
20
+ homepage: http://rubygems.org/gems/firehose-support
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.4.5.1
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: An Error Message Reporter
44
+ test_files: []