airbrake-ruby 1.3.2 → 1.4.0
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 +4 -4
- data/lib/airbrake-ruby/config.rb +16 -0
- data/lib/airbrake-ruby/notifier.rb +2 -4
- data/lib/airbrake-ruby/version.rb +1 -1
- data/spec/config_spec.rb +71 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 872e5dbd662f107ff1edc407c3e0464816884252
|
4
|
+
data.tar.gz: ad9561bb25b64fe45eaab08f8e53860dd26d92dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7026eac93af682eb7885c62ca608507cc66273da5341fda6d145ad0b692dfa866195ffb3331cea33e8b276199608b0f706fb67db08a64ba8477f0300a9557ecf
|
7
|
+
data.tar.gz: 2f6d1b674f9342088ddb4cc0231d5fc923814a99077131ab67abcf121d66ac96dccbc4eaad3a16dc758148dd4e8caffec193c08436a8dac356fd1827220ea32b
|
data/lib/airbrake-ruby/config.rb
CHANGED
@@ -125,6 +125,22 @@ module Airbrake
|
|
125
125
|
self
|
126
126
|
end
|
127
127
|
|
128
|
+
##
|
129
|
+
# @return [Boolean] true if the config meets the requirements, false
|
130
|
+
# otherwise
|
131
|
+
def valid?
|
132
|
+
return true if ignored_environment?
|
133
|
+
return false unless project_id.is_a?(Integer)
|
134
|
+
project_key.is_a?(String) && !project_key.empty?
|
135
|
+
end
|
136
|
+
|
137
|
+
##
|
138
|
+
# @return [Boolean] true if the config ignores current environment, false
|
139
|
+
# otherwise
|
140
|
+
def ignored_environment?
|
141
|
+
ignore_environments.include?(environment)
|
142
|
+
end
|
143
|
+
|
128
144
|
private
|
129
145
|
|
130
146
|
def set_option(option, value)
|
@@ -30,7 +30,7 @@ module Airbrake
|
|
30
30
|
def initialize(user_config)
|
31
31
|
@config = (user_config.is_a?(Config) ? user_config : Config.new(user_config))
|
32
32
|
|
33
|
-
unless
|
33
|
+
unless @config.valid?
|
34
34
|
raise Airbrake::Error, 'both :project_id and :project_key are required'
|
35
35
|
end
|
36
36
|
|
@@ -143,9 +143,7 @@ module Airbrake
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def send_notice(exception, params, sender = default_sender)
|
146
|
-
if @config.
|
147
|
-
return if @config.ignore_environments.include?(@config.environment)
|
148
|
-
end
|
146
|
+
return if @config.ignored_environment?
|
149
147
|
|
150
148
|
notice = build_notice(exception, params)
|
151
149
|
@filter_chain.refine(notice)
|
data/spec/config_spec.rb
CHANGED
@@ -76,4 +76,75 @@ RSpec.describe Airbrake::Config do
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
79
|
+
|
80
|
+
describe "#valid?" do
|
81
|
+
context "when project_id is nil" do
|
82
|
+
it "returns false" do
|
83
|
+
config.project_id = nil
|
84
|
+
config.project_key = '123'
|
85
|
+
|
86
|
+
expect(config).not_to be_valid
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context "when project_key is nil" do
|
91
|
+
it "returns false" do
|
92
|
+
config.project_id = 123
|
93
|
+
config.project_key = nil
|
94
|
+
|
95
|
+
expect(config).not_to be_valid
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context "when the current environment is ignored" do
|
100
|
+
context "and when the notifier misconfigures configure project_key & project_id" do
|
101
|
+
it "returns true" do
|
102
|
+
config.project_id = Object.new
|
103
|
+
config.project_key = Object.new
|
104
|
+
config.environment = :bingo
|
105
|
+
config.ignore_environments = [:bingo]
|
106
|
+
|
107
|
+
expect(config).to be_valid
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
context "and when the notifier configures project_key & project_id" do
|
112
|
+
it "returns true" do
|
113
|
+
config.project_id = 123
|
114
|
+
config.project_key = '321'
|
115
|
+
config.environment = :bingo
|
116
|
+
config.ignore_environments = [:bingo]
|
117
|
+
|
118
|
+
expect(config).to be_valid
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
context "when the project_id value is not an Integer" do
|
124
|
+
it "returns false" do
|
125
|
+
config.project_id = '123'
|
126
|
+
config.project_key = '321'
|
127
|
+
|
128
|
+
expect(config).not_to be_valid
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
context "when the project_key value is not a String" do
|
133
|
+
it "returns false" do
|
134
|
+
config.project_id = 123
|
135
|
+
config.project_key = 321
|
136
|
+
|
137
|
+
expect(config).not_to be_valid
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
context "when the project_key value is an empty String" do
|
142
|
+
it "returns false" do
|
143
|
+
config.project_id = 123
|
144
|
+
config.project_key = ''
|
145
|
+
|
146
|
+
expect(config).not_to be_valid
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
79
150
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: airbrake-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airbrake Technologies, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|