thread_attr_accessor 0.2.1 → 0.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: 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