thread_local_var_accessors 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +2 -1
- data/Rakefile +25 -7
- data/lib/thread_local_var_accessors/version.rb +6 -1
- data/lib/thread_local_var_accessors.rb +10 -12
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ed08c93f6e727f6ba7dc57984a05669fbf06bfe99f4fd46b3a6e81f72727128
|
4
|
+
data.tar.gz: b8223cf233fa40fc0749849117c0b6773b2a9723fd98dd80aed9017275f9882f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2387dc90dd67a904b4757a5461ecff8ca4c6b5cbd4ae515f3be15241df0a7e956583b6760ba6b7f6398fdcbdfcd64852f06c62579ea01edba2d3ae0763c670a
|
7
|
+
data.tar.gz: 1942812b37021fdeb8f4f4cf1acf782591e400c229247815f1308553ab37872caca9131aca67b304b1f5fcc3c43238699794ffae431ab19d236827913b6271c1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
2024-05-09: Version 1.3.1
|
2
|
+
- DRYed up the `tlv_default` method
|
3
|
+
- Changed CI to support "release" task on the main branch
|
4
|
+
- Added more tasks to the Rakefile
|
5
|
+
- Added RELEASES to the version file.
|
6
|
+
- Updated the ruby version to 3.1
|
7
|
+
|
1
8
|
2023-05-04: Version 1.0.0
|
2
9
|
- added support for default values:
|
3
10
|
- renamed `tlv_new` to `tlv_init` (leaving `tlv_new` as an alias)
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -1,19 +1,37 @@
|
|
1
1
|
# Rakefile for thread_local_var_accessors
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'rspec/core/rake_task'
|
4
4
|
require 'yard'
|
5
5
|
|
6
|
+
namespace :spec do
|
7
|
+
desc 'run tests with code coverage'
|
8
|
+
task :coverage do
|
9
|
+
sh 'COVERAGE=1 bundle exec rake spec'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
task build: %i[bundle:add_linux]
|
14
|
+
task install: %i[build spec]
|
15
|
+
task release: %i[build spec]
|
16
|
+
|
6
17
|
# Local CI testing
|
7
18
|
|
8
19
|
namespace :ci do
|
9
|
-
desc
|
20
|
+
desc 'Check CIRCLECI config'
|
10
21
|
task :check do
|
11
|
-
sh
|
22
|
+
sh 'circleci config validate', verbose: true
|
12
23
|
end
|
13
24
|
|
14
|
-
desc
|
25
|
+
desc 'Run CIRCLECI config locally'
|
15
26
|
task :local do
|
16
|
-
sh
|
27
|
+
sh 'circleci local execute', verbose: true
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
namespace :bundle do
|
32
|
+
desc 'add linux platform to Gemfile.lock'
|
33
|
+
task :add_linux do
|
34
|
+
sh "grep -s 'x86_64-linux' Gemfile.lock >/dev/null || bundle lock --add-platform x86_64-linux"
|
17
35
|
end
|
18
36
|
end
|
19
37
|
|
@@ -22,7 +40,7 @@ end
|
|
22
40
|
RSpec::Core::RakeTask.new(:spec)
|
23
41
|
|
24
42
|
namespace :spec do
|
25
|
-
desc
|
43
|
+
desc 'run Simplecov'
|
26
44
|
task :coverage do
|
27
45
|
sh 'CODE_COVERAGE=1 bundle exec rake spec'
|
28
46
|
end
|
@@ -160,7 +160,7 @@ require 'concurrent-ruby'
|
|
160
160
|
#
|
161
161
|
# def timeout=(value)
|
162
162
|
# var = instance_variable_get(:@timeout) ||
|
163
|
-
#
|
163
|
+
# instance_variable_set(:@timeout, Concurrent::ThreadLocalVar.new)
|
164
164
|
# var.value = block_given? ? yield(var.value) : value
|
165
165
|
# end
|
166
166
|
#
|
@@ -277,7 +277,7 @@ module ThreadLocalVarAccessors
|
|
277
277
|
# Creates a new TLVar with the given default value or block.
|
278
278
|
# Equivalent to:
|
279
279
|
# @name = ThreadLocalVar.new(block_given? ? yield : default)
|
280
|
-
def tlv_new(name, default=nil, &block)
|
280
|
+
def tlv_new(name, default = nil, &block)
|
281
281
|
instance_variable_set(
|
282
282
|
name.to_ivar,
|
283
283
|
Concurrent::ThreadLocalVar.new(default, &block)
|
@@ -291,7 +291,7 @@ module ThreadLocalVarAccessors
|
|
291
291
|
# @name ||= ThreadLocalVar.new
|
292
292
|
# @name.instance_variable_set(:@default, block_given? ? yield : default)
|
293
293
|
# @name.value
|
294
|
-
def tlv_init(name, default=nil, &block)
|
294
|
+
def tlv_init(name, default = nil, &block)
|
295
295
|
tlv_set_default(name, default, &block)
|
296
296
|
tlv_get(name)
|
297
297
|
end
|
@@ -310,18 +310,16 @@ module ThreadLocalVarAccessors
|
|
310
310
|
# Sets the default value or block for the TLV _(which is applied across all threads)_.
|
311
311
|
# Creates a new TLV if the instance variable is not initialized.
|
312
312
|
# @return [Object] the effective default value of the TLV instance variable
|
313
|
-
def tlv_set_default(name, default=nil, &block)
|
313
|
+
def tlv_set_default(name, default = nil, &block)
|
314
|
+
1
|
314
315
|
tlv = instance_variable_get(name.to_ivar)
|
315
316
|
if tlv
|
316
|
-
raise ArgumentError,
|
317
|
+
raise ArgumentError, 'tlv_set_default: can only use a default or a block, not both' if default && block
|
317
318
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
tlv.instance_variable_set(:@default_block, nil)
|
323
|
-
tlv.instance_variable_set(:@default, default)
|
324
|
-
end
|
319
|
+
# in both cases, the default is set to the given value, only one of which
|
320
|
+
# can be given at a time.
|
321
|
+
tlv.instance_variable_set(:@default_block, block)
|
322
|
+
tlv.instance_variable_set(:@default, default)
|
325
323
|
tlv
|
326
324
|
else
|
327
325
|
tlv = tlv_new(name, default, &block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thread_local_var_accessors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alan Stebbens
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
242
|
- !ruby/object:Gem::Version
|
243
243
|
version: '0'
|
244
244
|
requirements: []
|
245
|
-
rubygems_version: 3.
|
245
|
+
rubygems_version: 3.3.26
|
246
246
|
signing_key:
|
247
247
|
specification_version: 4
|
248
248
|
summary: Ruby gem to make ThreadLocalVars easy to use
|