traceable 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d9013920b6dba8371010fa2adc9907f2534f899
4
- data.tar.gz: 0d7c6191c0a9a3e65487730386638d05ce6fcaee
3
+ metadata.gz: 3be3e72b3c355a0a35506fb4b536849a3f45d1a7
4
+ data.tar.gz: 6ef42b0f026abb8e96b39c17b7d947cbff9e8c55
5
5
  SHA512:
6
- metadata.gz: 7d65e2b1746c66f4ecf41781b6fd1b0ccc4cd65345193691e83ca94c88daf3070e31b1a5a3d8e05858e849fd750118e2c5a1e510c21903b0f652a1c02ff2dbb6
7
- data.tar.gz: 7514b665636b9cfedc34d3091168a154218289b17ac86cd63e15cbc025c5bb015e7e3e18fbeb5d24dc99e559ba230b81699f1df6b3cae8fc68fd5734b0c29533
6
+ metadata.gz: b90b0aec6b3919805dcc8389b3705bf04af474f02b7d3f0ed854aed0edcb3e57421c5a1a7edd8a2810514566288e211f50ac15233ddcab98e6932eeeeb60ad72
7
+ data.tar.gz: eef9862be471fd65ae623f32106e56d95a8acde22054a40f5113090ac3de109ea599fe666c6a1dc2bd513a3a24fe3e550d424da46cf0466f23a0a251ff73a2fd
@@ -77,7 +77,7 @@ module Traceable
77
77
 
78
78
  begin
79
79
  push
80
- yield
80
+ yield tags
81
81
  rescue StandardError => ex
82
82
  elapsed = Time.now.utc - block_start_time
83
83
  if ex.instance_variable_defined?(:@traceable_rescued)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Traceable
4
- VERSION = '1.2.0'
4
+ VERSION = '1.3.0'
5
5
  end
data/lib/traceable.rb CHANGED
@@ -25,7 +25,7 @@ module Traceable
25
25
  tracer = local_tracer
26
26
 
27
27
  if block_given?
28
- tracer.do_block(msg, **tags) { yield }
28
+ tracer.do_block(msg, **tags) { |trace_tags| yield trace_tags }
29
29
  elsif msg
30
30
  tracer.info msg, **tags
31
31
  else
@@ -44,7 +44,8 @@ RSpec.describe Traceable do
44
44
 
45
45
  def trace_as_a_block
46
46
  trace 'an example' do
47
- trace 'a nested block' do
47
+ trace 'a nested block' do |tt|
48
+ tt[:blah] = 'blah'
48
49
  true
49
50
  end
50
51
  end
@@ -134,6 +135,14 @@ RSpec.describe Traceable do
134
135
  end
135
136
  expect(count).to be(2)
136
137
  end
138
+
139
+ it 'includes tags added in the block' do
140
+ subject.trace_as_a_block
141
+ count_exit = logs.select { |log| log[:tags].key?(:exit) }.count
142
+ count_blah = logs.select { |log| log[:tags].key?(:exit) && log[:tags][:blah] == 'blah' }.count
143
+ expect(count_exit).to be(2)
144
+ expect(count_blah).to be(1)
145
+ end
137
146
  end
138
147
 
139
148
  context 'in a class method' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traceable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Slade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-20 00:00:00.000000000 Z
11
+ date: 2018-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler