lookout-rack-utils 3.3.0.22 → 3.3.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.gitignore +2 -0
- data/lib/lookout/rack/utils/log.rb +26 -1
- data/spec/log_spec.rb +27 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjBmOTI2MTc3YmEzMDlkN2U5ZDMxNjQyMjBiNWM3M2Y1ZTMxOGU5Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjQ1Mjc2YWQzMWUyZGRiNDFjMDdmZTQ4NDg0MWJlMjRkZTBjNGZhZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzhhZmJhNDAwYzk1MzVmOTY2MjUyNjZmNWY4ZDNiODM0MmQxN2M4Mjk2Y2Uz
|
10
|
+
YzhmM2M2YTcwN2NjNGYzMDI4OGQyOTZlNzI2MzU3Y2FhYjUzMTk2N2RiNjRm
|
11
|
+
NjczMDY5YjllNzhiZDlmMDI0ZWM1OWFjM2E3M2U1MjBjM2EwOWY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTk2MzVlNGE3MDZlZmUyOGNjMjAyNGRiMmI2Yjk4ZmM3OWY3NzIyZmVlMTFm
|
14
|
+
Y2I4ZjczYzY4MTg3MjQ4YTRjMTIwYWYzMGJiNWNkMmUxOGM1OTg1N2M3ZDlh
|
15
|
+
NjQxMTFiM2NkZGMxMTI5MmU1MWU1MGFmMGUzYjIyYWZiNDg4NGE=
|
data/.gitignore
CHANGED
@@ -33,11 +33,36 @@ module Lookout::Rack::Utils
|
|
33
33
|
@basedir ||= File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
34
34
|
end
|
35
35
|
|
36
|
+
# Return the common base directory between this project and the
|
37
|
+
# given trace. If no common base directory is found, return
|
38
|
+
# basedir.
|
39
|
+
#
|
40
|
+
# This memoizes the result, which can be bad if the first log
|
41
|
+
# comes from an unusual place. However, in all current uses this
|
42
|
+
# is running from an unpacked jar/war and its vastly faster to
|
43
|
+
# memoize the result.
|
44
|
+
#
|
45
|
+
# @param [String] tracer A line from the LogEvent#tracer Array
|
46
|
+
# @return [String] Common base directory with the trace
|
47
|
+
def common_basedir(tracer)
|
48
|
+
return @common_basedir if @common_basedir
|
49
|
+
|
50
|
+
basedir_pieces = basedir.split(File::SEPARATOR)
|
51
|
+
trace_pieces = tracer.split(File::SEPARATOR)
|
52
|
+
i = 0
|
53
|
+
while basedir_pieces[i] == trace_pieces[i]
|
54
|
+
i += 1
|
55
|
+
end
|
56
|
+
# If there were no common directories (besides /), return our basedir
|
57
|
+
@common_basedir = (i <= 1) ? basedir : basedir_pieces[0...i].join(File::SEPARATOR)
|
58
|
+
end
|
59
|
+
|
36
60
|
# Return a trimmed version of the filename from where a LogEvent occurred
|
37
61
|
# @param [String] tracer A line from the LogEvent#tracer Array
|
38
62
|
# @return [String] Trimmed and parsed version of the file ane line number
|
39
63
|
def event_filename(tracer)
|
40
|
-
|
64
|
+
base = common_basedir(tracer)
|
65
|
+
parts = tracer.match(/#{base}\/(.*:[0-9]+).*:/)
|
41
66
|
|
42
67
|
# If we get no matches back, we're probably in a jar file in which case
|
43
68
|
# the format of the tracer is going to be abbreviated
|
data/spec/log_spec.rb
CHANGED
@@ -158,4 +158,31 @@ describe Lookout::Rack::Utils::Log::LookoutFormatter do
|
|
158
158
|
end
|
159
159
|
|
160
160
|
end
|
161
|
+
|
162
|
+
describe "#common_basedir" do
|
163
|
+
subject(:common_basedir) { formatter.common_basedir(path) }
|
164
|
+
|
165
|
+
context "with no common path" do
|
166
|
+
let(:path) { "/impossible/path" }
|
167
|
+
|
168
|
+
it "should return basedir" do
|
169
|
+
expect(subject).to eq basedir
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
context "with a partially shared path" do
|
174
|
+
let(:path) { File.expand_path(File.join(basedir, "..", "tmp", "foo.rb")) }
|
175
|
+
|
176
|
+
it "should return shared path" do
|
177
|
+
expect(subject).to eq File.expand_path(File.join(basedir, ".."))
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
context "with a fully shared path" do
|
182
|
+
let(:path) { File.expand_path(File.join(basedir, "tmp.rb")) }
|
183
|
+
it "should return full path" do
|
184
|
+
expect(subject).to eq basedir
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
161
188
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lookout-rack-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.0.
|
4
|
+
version: 3.3.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|