thread_attr_accessor 0.2.1 → 0.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: 2d5ea145a61533a69566793c7f11e8ddb66fc945
4
- data.tar.gz: 5f9ab00dd8c02a49d7f3cad85443c4e4d24718b7
3
+ metadata.gz: e0bbd578e270ba32720f81c3c140ab873e644782
4
+ data.tar.gz: 00b1143e8682757f079e05620feeaad3fc359968
5
5
  SHA512:
6
- metadata.gz: 377286df47e7cdcc42033bbe5e2f52cef39ad7980b467a38f6a5b91bc0249fe4d42aeca82b671a182406d221c8ebf69dbf8438ddd8e2eaac1a03b600995e5159
7
- data.tar.gz: 7d86eead4c49de3207f22588c51e7ac1c4ebb62c2eac41ca066cb7f64e050174a3e05e5c96410ef2650efa95db0db6cbf4591dc50467b33e8892005af983ab50
6
+ metadata.gz: 92abbd9a74ca2846a328e3efcb899ab8ba16f2162af3fc6740b7d5d5b0f758ef7c7f2198e89209bff2dce6ad9e8a27e711c9ca649ae22b37e6cbbb47eaedfb7c
7
+ data.tar.gz: 5ca0baaedc38e4cfefa3e394e02dbf86753095812be71263111ad90fe06f9faede8735fe90b27810b526e13248d6ea5ed2a43206b6ac8d649d4c76946c738b81
@@ -1,3 +1,3 @@
1
1
  module ThreadAttrAccessor
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -50,7 +50,7 @@ module ThreadAttrAccessor
50
50
  thread_key = ThreadAttrAccessor.thread_accessor_key(self, name)
51
51
 
52
52
  mod.send(:define_method, "#{name}=") do |value|
53
- Thread.current[thread_key] = value
53
+ Thread.current.thread_variable_set(thread_key, value)
54
54
  end
55
55
 
56
56
  if private
@@ -73,11 +73,16 @@ module ThreadAttrAccessor
73
73
 
74
74
  if get_default
75
75
  get_value = ->(thread_key) {
76
- Thread.current[thread_key] ||= get_default.call(thread_key)
76
+ if Thread.current.thread_variable?(thread_key)
77
+ Thread.current.thread_variable_get(thread_key)
78
+ else
79
+ default_value = get_default.call(thread_key)
80
+ Thread.current.thread_variable_set(thread_key, default_value)
81
+ end
77
82
  }
78
83
  else
79
84
  get_value = ->(thread_key) {
80
- Thread.current[thread_key]
85
+ Thread.current.thread_variable_get(thread_key)
81
86
  }
82
87
  end
83
88
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thread_attr_accessor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renato Zannon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-03-20 00:00:00.000000000 Z
11
+ date: 2015-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler