error-message-tracker 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []