hbw 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +2 -2
- data/lib/hbw.rb +37 -5
- data/lib/hbw/config.rb +8 -0
- data/lib/hbw/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a07db43130bbcb0e4dad061381df31746c0f6b74c82b2fc7e28fb6196eabf056
|
4
|
+
data.tar.gz: 7dd49c10fb292b403742cf785512bf1f80cc590ecb25a45f2708395b25256692
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cc47befb5635d4362d66636c9d2135f3703268cbe8ead44aad91fec698b54501d33c424336ca870c8ca3478a2d6d7b5ef86a297a25e5165bd7368e780d3241e
|
7
|
+
data.tar.gz: 20e222c9804903ef2363cb2a32c94c9a6bc79a0d41917455f4cd2a0493cd9dc9efc3ba639a005f84cd0d09e41519093569be45f686b8eb9c9dea5f5764031cf0
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
By using `HBW.notify`, you can report error to honeybadger.io
|
23
|
+
By using `HBW.notify`, you can report error to honeybadger.io if `defined?(Honeybadger)` is true and raise error if `defined?(Honeybadger)` is false.
|
24
24
|
|
25
25
|
```ruby
|
26
26
|
HBW.notify("PaymentConfiguration", error_message, context: { company_id: self.id })
|
@@ -111,7 +111,7 @@ HBW.notify("PaymentConfiguration", "Empty payment period found in PaymentConfigu
|
|
111
111
|
|
112
112
|
### `raise_development` option
|
113
113
|
|
114
|
-
This option is default true.
|
114
|
+
This option is default true. When `defined?(Honeybadger)` is false and `HBW.notify` is called, exception is raised by default. By setting `raise_development: false`, no exception is raised in such situation.
|
115
115
|
|
116
116
|
```ruby
|
117
117
|
# `exception` is raised
|
data/lib/hbw.rb
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
require "hbw/version"
|
2
|
+
require "hbw/config"
|
2
3
|
|
3
4
|
module HBW
|
4
5
|
class ArgumentError < ::ArgumentError; end
|
5
6
|
|
7
|
+
@notice_only_notifier = nil
|
8
|
+
|
6
9
|
class << self
|
10
|
+
attr_reader :notice_only_notifier
|
11
|
+
|
7
12
|
# @overload
|
8
13
|
#
|
9
14
|
# @param [Exception] exception
|
@@ -97,11 +102,13 @@ module HBW
|
|
97
102
|
|
98
103
|
# QA, Production
|
99
104
|
if should_use_honeybadger?
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
+
args =
|
106
|
+
if exception_or_opts.respond_to?(:to_hash) # Already merged to opts
|
107
|
+
[opts]
|
108
|
+
else
|
109
|
+
[exception_or_opts, opts]
|
110
|
+
end
|
111
|
+
notify_internal(args, notice_only: notice_only)
|
105
112
|
return nil
|
106
113
|
end
|
107
114
|
|
@@ -117,6 +124,14 @@ module HBW
|
|
117
124
|
nil
|
118
125
|
end
|
119
126
|
|
127
|
+
def configure
|
128
|
+
config = Config.new
|
129
|
+
yield(config)
|
130
|
+
if config.notice_only_api_key && should_use_honeybadger?
|
131
|
+
@notice_only_notifier = build_notifier(config.notice_only_api_key)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
120
135
|
private
|
121
136
|
|
122
137
|
def merge_opts!(opts, error_class:, error_message:, context:, backtrace:, parameters:, action:, raise_development:, notice_only:)
|
@@ -137,12 +152,29 @@ module HBW
|
|
137
152
|
defined?(Honeybadger)
|
138
153
|
end
|
139
154
|
|
155
|
+
# @param [Array] args
|
156
|
+
def notify_internal(args, notice_only:)
|
157
|
+
if notice_only && notice_only_notifier
|
158
|
+
notice_only_notifier.notify(*args)
|
159
|
+
else
|
160
|
+
honeybadger_notify(*args)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
140
164
|
# @param [Exception, Hash] exception_or_opts
|
141
165
|
# @param [Hash] opts
|
142
166
|
def honeybadger_notify(exception_or_opts, opts = {})
|
143
167
|
::Honeybadger.notify(exception_or_opts, opts)
|
144
168
|
end
|
145
169
|
|
170
|
+
def build_notifier(api_key)
|
171
|
+
r = ::Honeybadger::Agent.new(::Honeybadger.config.dup)
|
172
|
+
r.configure do |config|
|
173
|
+
config.api_key = api_key
|
174
|
+
end
|
175
|
+
r
|
176
|
+
end
|
177
|
+
|
146
178
|
# @param [Exception, Hash] exception_or_opts
|
147
179
|
# @param [Hash] opts
|
148
180
|
# @return [String] error class
|
data/lib/hbw/config.rb
ADDED
data/lib/hbw/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hbw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nao Minami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- bin/setup
|
87
87
|
- hbw.gemspec
|
88
88
|
- lib/hbw.rb
|
89
|
+
- lib/hbw/config.rb
|
89
90
|
- lib/hbw/version.rb
|
90
91
|
homepage: http://github.com/south37/hbw
|
91
92
|
licenses:
|
@@ -108,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
109
|
version: '0'
|
109
110
|
requirements: []
|
110
111
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.7.
|
112
|
+
rubygems_version: 2.7.6
|
112
113
|
signing_key:
|
113
114
|
specification_version: 4
|
114
115
|
summary: Simple wrapper of Honeybadger
|