exceptio-ruby 0.1.4 → 0.1.5
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.
- data/README.rdoc +10 -0
- data/lib/exceptio/client.rb +14 -0
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -48,6 +48,16 @@ If you are using something other than Rails, or have additional areas outside of
|
|
48
48
|
|
49
49
|
Everything besides the exception itself is optional, with the environment defaulting to "production" if not supplied.
|
50
50
|
|
51
|
+
You can also wrap blocks of code that you want to log and handle errors for, such as trapping for exceptions within data migration loops and the like:
|
52
|
+
|
53
|
+
ExceptIO::Client.handle "environment", params_hash, session_hash, "http://request/url" do
|
54
|
+
# some code that may or may not raise an exception
|
55
|
+
end
|
56
|
+
|
57
|
+
If the code block raises an exception, it'll be logged (as per your configuration), and the call will return nil.
|
58
|
+
|
59
|
+
Everything besides the block is optional, with the environment defaulting to "production" if not supplied.
|
60
|
+
|
51
61
|
== REQUIREMENTS:
|
52
62
|
|
53
63
|
exceptio-ruby depends upon httparty.
|
data/lib/exceptio/client.rb
CHANGED
@@ -4,8 +4,12 @@ module ExceptIO
|
|
4
4
|
class Client
|
5
5
|
include HTTParty
|
6
6
|
|
7
|
+
VERSION = "0.1.5"
|
8
|
+
|
7
9
|
DEFAULT_IGNORED_EXCEPTIONS = ["ActiveRecord::RecordNotFound", "ActionController::InvalidAuthenticityToken", "ActionController::RoutingError"]
|
8
10
|
|
11
|
+
headers "User-Agent" => "exceptio-ruby #{VERSION}"
|
12
|
+
|
9
13
|
def self.configure(application, app_key, endpoint = 'except.io')
|
10
14
|
@application = application
|
11
15
|
@app_key = app_key
|
@@ -53,5 +57,15 @@ module ExceptIO
|
|
53
57
|
res = self.post("/applications/#{self.application}/errors", {:query => {:app_key => self.app_key}, :body => {:error => {:message => exception.message, :backtrace => exception.backtrace, :type => exception.class.name, :environment => environment, :params => params, :session => session, :request_url => request_url}}})
|
54
58
|
res.code == 201
|
55
59
|
end
|
60
|
+
|
61
|
+
def self.handle(environment = "production", params = {}, session = {}, request_url = nil, &block)
|
62
|
+
return unless block_given?
|
63
|
+
begin
|
64
|
+
yield
|
65
|
+
rescue
|
66
|
+
ExceptIO::Client.log($!, environment, params, session, request_url)
|
67
|
+
nil
|
68
|
+
end
|
69
|
+
end
|
56
70
|
end
|
57
71
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 5
|
9
|
+
version: 0.1.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Elliott Draper
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-04-
|
17
|
+
date: 2012-04-12 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|