traceable 1.2.0 → 1.3.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 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