logfoo 0.0.14 → 0.0.15

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: 20cf001c5de5bc751a19a54e61822b2b8e6d7678
4
- data.tar.gz: a5358b0b639a320dccbfb99db611f7cdefa33a44
3
+ metadata.gz: b7598ba2df8e78ef3ee119a5d97a3cd0c98826db
4
+ data.tar.gz: d7c3785a015a5b1c2922be6df4b35c3ecc4b5586
5
5
  SHA512:
6
- metadata.gz: a6572a35a7896368517490696d5c0331f755c918626b309ae901160b5618c20e40a90ed8c4ee8d3b575f22bdd4573df6bdb462db6f8995cb3e467497abcda728
7
- data.tar.gz: 66d52280de4e7863bd2f296f5779ab664975ce9ef2700983bfb204dd4d89e5e8b3427bf98b03383cda4abaf5bd7452f29e8ec9181b74b23f9a9fb9731e3c8c00
6
+ metadata.gz: e48012c7d9ec1ebad5199544508a747e45f625c9ae63b82cd3ad97fc9c6c465a991d6e7b1cc69169bb0fa755e3926f4c11a883b582019b137bf8928ce7d77ee0
7
+ data.tar.gz: f27d853c96d28634a12c7d25938ad280c9414e6ef770128503b0e9312dc9ebcb98d5cadf682142b1542f03669376e43ae0207437bbb16574cf364e1e6b4a502d
@@ -1,15 +1,14 @@
1
1
  module Logfoo
2
2
  class Context
3
3
 
4
- THREAD_ID = :logfoo_context
5
-
6
- attr_reader :level, :scope
4
+ attr_reader :level, :scope, :thread_id
7
5
 
8
6
  def initialize(app, scope, context = nil)
9
- @app = app
10
- @scope = scope
11
- @level = Logfoo::DEBUG
12
- @context = context || {}
7
+ @app = app
8
+ @scope = scope
9
+ @thread_id = :"logfoo_context_#{scope}"
10
+ @level = Logfoo::DEBUG
11
+ @context = context || {}
13
12
  end
14
13
 
15
14
  def level=(level)
@@ -28,13 +27,22 @@ module Logfoo
28
27
  if block_given?
29
28
  keys ||= {}
30
29
  begin
31
- Thread.current[THREAD_ID] = keys
30
+ Thread.current[thread_id] ||= []
31
+ Thread.current[thread_id].push(keys)
32
32
  yield
33
33
  ensure
34
- Thread.current[THREAD_ID] = nil
34
+ Thread.current[thread_id].pop
35
+ if Thread.current[thread_id] == []
36
+ Thread.current[thread_id] = nil
37
+ end
35
38
  end
36
39
  else
37
- keys = Thread.current[THREAD_ID] || {}
40
+ keys = (Thread.current[thread_id] || []).inject({}) do |memo, kvs|
41
+ kvs.each do |(k,v)|
42
+ memo.merge!(k => v)
43
+ end
44
+ memo
45
+ end
38
46
  @context.merge(keys)
39
47
  end
40
48
  end
@@ -1,3 +1,3 @@
1
1
  module Logfoo
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.15'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logfoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Galinsky
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-03 00:00:00.000000000 Z
11
+ date: 2016-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler