tins 1.37.0 → 1.38.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 +4 -4
- data/CHANGES.md +19 -0
- data/README.md +0 -81
- data/lib/tins/file_binary.rb +6 -6
- data/lib/tins/limited.rb +43 -18
- data/lib/tins/version.rb +1 -1
- data/tests/concern_test.rb +29 -7
- data/tests/limited_test.rb +5 -20
- data/tins.gemspec +4 -4
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26f2a6faf004d28bc511820eb58835ba4b555481d38b12839b264fde8664b321
|
4
|
+
data.tar.gz: 394319369bf23b6afee56aebfe70ebdebe9d4d05ff77181338a754f667921266
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6491996c174a13ec0a4b1cbd8c2437e7f7becca98965962a0aa446e7a7bd50f87ef8ebef4ba61dc0c48b38a97a0009ee1b6411a414c42ca53903f97a9e025861
|
7
|
+
data.tar.gz: cc785591e2c3efe72b0b70585dd30001bf5d4e6d7ff6b8b1b88c023c7be85bc6cb1ca7262e9b3ace3a009f4eac39ca2b9cf62dea73858bd0dd570292b583c62d
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 2025-01-04 v1.38.0
|
4
|
+
|
5
|
+
* Improved Tins::Limited concurrency handling:
|
6
|
+
* Added `execute` method for task submission with a block
|
7
|
+
* Changed `process` method to manage thread execution and queue management
|
8
|
+
* Introduced `stop` method to signal processing termination
|
9
|
+
* Modified test cases in `limited_test.rb` to accommodate new functionality
|
10
|
+
* Added `ensure` clause to decrement counter and signal continuation after
|
11
|
+
block execution
|
12
|
+
* Added support for Ruby **3.4** Alpine image:
|
13
|
+
* Updated `.all_images.yml` to include Ruby **3.4**-alpine environment
|
14
|
+
* Added `ruby:3.4-alpine` to the list of supported images
|
15
|
+
* Now uses **3.4** instead of **3.3**, **3.2**, and **3.1** for ruby versions
|
16
|
+
|
17
|
+
## 2024-12-13 v1.37.1
|
18
|
+
|
19
|
+
* Renamed `ZERO` and `BINARY` constants to `ZERO_RE` and `BINARY_RE` to avoid
|
20
|
+
collisions with Logger/File constants.
|
21
|
+
|
3
22
|
## 2024-10-19 v1.37.0
|
4
23
|
|
5
24
|
* Add support for module prepended blocks in **Tins::Concern**:
|
data/README.md
CHANGED
@@ -10,87 +10,6 @@ Non yet.
|
|
10
10
|
|
11
11
|
[](https://codeclimate.com/github/flori/tins)
|
12
12
|
|
13
|
-
## Changes
|
14
|
-
|
15
|
-
* 2018-11-14 Release 1.20.2
|
16
|
-
- Fix ~x options
|
17
|
-
* 2018-11-14 Release 1.20.1
|
18
|
-
- Add disabling boolean options in Tins::GO#go method.
|
19
|
-
* 2018-11-14 Release 1.20.0
|
20
|
-
- Support default arguments in Tins::GO#go method.
|
21
|
-
* 2018-11-07 Release 1.19.0
|
22
|
-
- Allow annotations without arguments
|
23
|
-
* 2018-11-02 Release 1.18.0
|
24
|
-
- `thread_local` and `thread_global` with default block
|
25
|
-
* 2018-10-15 Release 1.17.0
|
26
|
-
- Add Tins::TempIO::Enum class to wrap `temp_io` into Enumerator.
|
27
|
-
* 2017-12-05 Release 1.16.3
|
28
|
-
- Improve `temp_io` method by not changing working dir.
|
29
|
-
* 2017-12-05 Release 1.16.2
|
30
|
-
- Improve `temp_io` method with a given name.
|
31
|
-
* 2017-12-05 Release 1.16.1
|
32
|
-
- Improve `temp_io` method with block
|
33
|
-
* 2017-11-29 Release 1.16.0
|
34
|
-
- Prove `temp_io` method with block
|
35
|
-
* 2017-06-29 Release 1.15.0
|
36
|
-
- Add support for smart duration formats with %D directive
|
37
|
-
* 2017-05-16 Release 1.14.0
|
38
|
-
- Add visit proc to determine if file should be visited.
|
39
|
-
* 2017-05-14 Release 1.13.3
|
40
|
-
- Fix some debugging warnings
|
41
|
-
* 2017-02-03 Release 1.13.2
|
42
|
-
- Fix test on older rubies
|
43
|
-
* 2016-11-23 Release 1.13.1
|
44
|
-
- Fix comparibility of Tins::Duration instances
|
45
|
-
* 2016-11-23 Release 1.13.0
|
46
|
-
- Add expose method mostly for testing hidden methods.
|
47
|
-
* 2016-08-04 Release 1.12.0
|
48
|
-
- Add Tins::Unit.parse? method to check for units in strings.
|
49
|
-
* 2016-07-12 Release 1.11.0
|
50
|
-
- Provide Tins::Unit.format and Tins::Unit.parse methods.
|
51
|
-
* 2016-05-25 Release 1.10.2
|
52
|
-
- Avoid some warnings.
|
53
|
-
* 2016-04-15 Release 1.10.1
|
54
|
-
- Fix bug in go if a concatenated argument comes last.
|
55
|
-
* 2016-04-12 Release 1.10.0
|
56
|
-
- Support mixed rest arguments in go argument parsing.
|
57
|
-
* 2016-03-10 Release 1.9.0
|
58
|
-
- Add Tins::Duration for displaying durations.
|
59
|
-
* 2016-01-18 Release 1.8.2
|
60
|
-
- Implement Tins::StringVersion::Version#dup and
|
61
|
-
Tins::StringVersion::Version#clone.
|
62
|
-
* 2015-12-03 Release 1.8.1
|
63
|
-
- Remove some backports already existant in the newer supported rubies.
|
64
|
-
* 2015-12-01 Release 1.8.0
|
65
|
-
- Add `foo_of` and `foo_annotations` methods to instances of classes with
|
66
|
-
annotated methods.
|
67
|
-
* 2015-11-09 Release 1.7.0
|
68
|
-
- Officially require ruby >= 2.0 and use new hash syntax.
|
69
|
-
- New feature attempt: sleep:-30 sleeps upto 30 seconds while retrying with
|
70
|
-
an exponential waiting pattern.
|
71
|
-
- Remove rotate and shuffle, recent rubies all support them.
|
72
|
-
- Add an object oriented view on method signatures and use it to create
|
73
|
-
method descriptions.
|
74
|
-
* 2015-08-13 Release 1.6.0
|
75
|
-
- Add complete method for readline completion
|
76
|
-
* 2015-06-21 Release 1.5.4
|
77
|
-
- Avoid %i syntax for now
|
78
|
-
* 2015-06-17 Release 1.5.3
|
79
|
-
- Make it run on 1.9 again.
|
80
|
-
- Avoid a warning in Time.dummy implementation.
|
81
|
-
* 2015-05-27 Release 1.5.2
|
82
|
-
- Fix parameter naming for c-methods in method descriptions.
|
83
|
-
* 2015-04-24 Release 1.5.0/1.5.1
|
84
|
-
- Implement bump logic for StringVersion
|
85
|
-
* 2015-04-23 Release 1.4.0
|
86
|
-
- Add implement module helper method.
|
87
|
-
* 2015-03-03 Release 1.3.5
|
88
|
-
- Don't automatically include #to method into Object, this can lead to some
|
89
|
-
confusion.
|
90
|
-
* 2015-02-04 Release 1.3.4
|
91
|
-
- Add some default alphabets to Tins::Token, e. g. Base64
|
92
|
-
- Add changes to Readme
|
93
|
-
|
94
13
|
## Author
|
95
14
|
|
96
15
|
Florian Frank mailto:flori@ping.de
|
data/lib/tins/file_binary.rb
CHANGED
@@ -3,12 +3,12 @@ module Tins
|
|
3
3
|
module Constants
|
4
4
|
SEEK_SET = ::File::SEEK_SET
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
ZERO_RE = "\x00"
|
7
|
+
BINARY_RE = "\x01-\x1f\x7f-\xff"
|
8
8
|
|
9
9
|
if defined?(::Encoding)
|
10
|
-
|
11
|
-
|
10
|
+
ZERO_RE.force_encoding(Encoding::ASCII_8BIT)
|
11
|
+
BINARY_RE.force_encoding(Encoding::ASCII_8BIT)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -39,9 +39,9 @@ module Tins
|
|
39
39
|
data = read options[:buffer_size]
|
40
40
|
!data or data.empty? and return nil
|
41
41
|
data_size = data.size
|
42
|
-
data.count(Constants::
|
42
|
+
data.count(Constants::ZERO_RE).to_f / data_size >
|
43
43
|
options[:percentage_zeros] / 100.0 and return true
|
44
|
-
data.count(Constants::
|
44
|
+
data.count(Constants::BINARY_RE).to_f / data_size >
|
45
45
|
options[:percentage_binary] / 100.0
|
46
46
|
ensure
|
47
47
|
old_pos and seek old_pos, Constants::SEEK_SET
|
data/lib/tins/limited.rb
CHANGED
@@ -16,33 +16,58 @@ module Tins
|
|
16
16
|
attr_reader :maximum
|
17
17
|
|
18
18
|
# Execute _maximum_ number of threads in parallel.
|
19
|
-
def execute
|
20
|
-
@
|
19
|
+
def execute(&block)
|
20
|
+
@tasks or raise ArgumentError, "start processing first"
|
21
|
+
@tasks << block
|
22
|
+
end
|
23
|
+
|
24
|
+
def process
|
25
|
+
@tasks = Queue.new
|
26
|
+
@executor = create_executor
|
27
|
+
catch :stop do
|
21
28
|
loop do
|
22
|
-
|
23
|
-
@count += 1
|
24
|
-
Thread.new do
|
25
|
-
@tg.add Thread.current
|
26
|
-
yield
|
27
|
-
@mutex.synchronize { @count -= 1 }
|
28
|
-
@continue.signal
|
29
|
-
end
|
30
|
-
return
|
31
|
-
else
|
32
|
-
@continue.wait(@mutex)
|
33
|
-
end
|
29
|
+
yield self
|
34
30
|
end
|
31
|
+
ensure
|
32
|
+
wait until done?
|
33
|
+
@executor.kill
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
37
|
+
def stop
|
38
|
+
throw :stop
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def done?
|
44
|
+
@tasks.empty? && @tg.list.empty?
|
45
|
+
end
|
46
|
+
|
38
47
|
def wait
|
39
48
|
@tg.list.each(&:join)
|
40
49
|
end
|
41
50
|
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
|
51
|
+
def create_executor
|
52
|
+
Thread.new do
|
53
|
+
@mutex.synchronize do
|
54
|
+
loop do
|
55
|
+
if @count < @maximum
|
56
|
+
task = @tasks.pop
|
57
|
+
@count += 1
|
58
|
+
Thread.new do
|
59
|
+
@tg.add Thread.current
|
60
|
+
task.(Thread.current)
|
61
|
+
ensure
|
62
|
+
@count -= 1
|
63
|
+
@continue.signal
|
64
|
+
end
|
65
|
+
else
|
66
|
+
@continue.wait(@mutex)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
46
71
|
end
|
47
72
|
end
|
48
73
|
end
|
data/lib/tins/version.rb
CHANGED
data/tests/concern_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class ConcernTest < Test::Unit::TestCase
|
4
|
-
module
|
4
|
+
module C1
|
5
5
|
extend Tins::Concern
|
6
6
|
|
7
7
|
included do
|
@@ -38,12 +38,27 @@ class ConcernTest < Test::Unit::TestCase
|
|
38
38
|
$included = nil
|
39
39
|
$prepended = nil
|
40
40
|
|
41
|
+
module C2
|
42
|
+
extend Tins::Concern
|
43
|
+
|
44
|
+
def foo
|
45
|
+
:'prepended-foo'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
|
41
50
|
class A
|
42
|
-
include
|
51
|
+
include C1
|
43
52
|
end
|
44
53
|
|
45
54
|
class B
|
46
|
-
prepend
|
55
|
+
prepend C1
|
56
|
+
end
|
57
|
+
|
58
|
+
class C
|
59
|
+
def foo
|
60
|
+
:foo
|
61
|
+
end
|
47
62
|
end
|
48
63
|
|
49
64
|
def test_concern_include
|
@@ -54,19 +69,26 @@ class ConcernTest < Test::Unit::TestCase
|
|
54
69
|
assert_equal :baz1, A.baz1
|
55
70
|
assert_equal :baz2, A.baz2
|
56
71
|
assert_raise(StandardError) do
|
57
|
-
|
72
|
+
C1.module_eval { included {} }
|
58
73
|
end
|
59
74
|
end
|
60
75
|
|
61
76
|
def test_concern_prepend
|
62
|
-
|
77
|
+
b = B.new
|
63
78
|
assert_equal B, $prepended
|
64
|
-
assert_equal :foo,
|
79
|
+
assert_equal :foo, b.foo
|
65
80
|
assert_equal :bar, B.bar
|
66
81
|
assert_equal :baz1, B.baz1
|
67
82
|
assert_equal :baz2, B.baz2
|
68
83
|
assert_raise(StandardError) do
|
69
|
-
|
84
|
+
C1.module_eval { prepended {} }
|
70
85
|
end
|
71
86
|
end
|
87
|
+
|
88
|
+
def test_prepended_method
|
89
|
+
c = C.new
|
90
|
+
assert_equal :foo, c.foo
|
91
|
+
C.class_eval { prepend C2 }
|
92
|
+
assert_equal :'prepended-foo', c.foo
|
93
|
+
end
|
72
94
|
end
|
data/tests/limited_test.rb
CHANGED
@@ -2,36 +2,21 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
module Tins
|
4
4
|
class LimitedTest < Test::Unit::TestCase
|
5
|
-
def
|
6
|
-
count = {}
|
7
|
-
limited = Tins::Limited.new(5)
|
8
|
-
5.times do
|
9
|
-
limited.execute do
|
10
|
-
count[Thread.current] = true
|
11
|
-
sleep 1
|
12
|
-
end
|
13
|
-
end
|
14
|
-
until count.size >= 5
|
15
|
-
sleep 0.1
|
16
|
-
end
|
17
|
-
assert_equal 5, count.keys.uniq.size
|
18
|
-
assert_equal 5, limited.wait.size
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_process
|
5
|
+
def test_process_with
|
22
6
|
count = {}
|
23
7
|
Tins::Limited.new(5).process do |limited|
|
24
|
-
|
8
|
+
10.times do
|
25
9
|
limited.execute do
|
26
10
|
count[Thread.current] = true
|
27
11
|
sleep 1
|
28
12
|
end
|
29
13
|
end
|
30
|
-
until count.size >=
|
14
|
+
until count.size >= 10
|
31
15
|
sleep 0.1
|
32
16
|
end
|
33
|
-
|
17
|
+
limited.stop
|
34
18
|
end
|
19
|
+
assert_equal 10, count.keys.uniq.size
|
35
20
|
end
|
36
21
|
end
|
37
22
|
end
|
data/tins.gemspec
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: tins 1.
|
2
|
+
# stub: tins 1.38.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "tins".freeze
|
6
|
-
s.version = "1.
|
6
|
+
s.version = "1.38.0".freeze
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Florian Frank".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2025-01-07"
|
12
12
|
s.description = "All the stuff that isn't good/big enough for a real library.".freeze
|
13
13
|
s.email = "flori@ping.de".freeze
|
14
14
|
s.extra_rdoc_files = ["README.md".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz.rb".freeze, "lib/tins.rb".freeze, "lib/tins/alias.rb".freeze, "lib/tins/annotate.rb".freeze, "lib/tins/ask_and_send.rb".freeze, "lib/tins/attempt.rb".freeze, "lib/tins/bijection.rb".freeze, "lib/tins/case_predicate.rb".freeze, "lib/tins/complete.rb".freeze, "lib/tins/concern.rb".freeze, "lib/tins/count_by.rb".freeze, "lib/tins/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_const_get.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deprecate.rb".freeze, "lib/tins/dslkit.rb".freeze, "lib/tins/duration.rb".freeze, "lib/tins/expose.rb".freeze, "lib/tins/extract_last_argument_options.rb".freeze, "lib/tins/file_binary.rb".freeze, "lib/tins/find.rb".freeze, "lib/tins/generator.rb".freeze, "lib/tins/go.rb".freeze, "lib/tins/hash_bfs.rb".freeze, "lib/tins/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/hash_union.rb".freeze, "lib/tins/if_predicate.rb".freeze, "lib/tins/implement.rb".freeze, "lib/tins/limited.rb".freeze, "lib/tins/lines_file.rb".freeze, "lib/tins/lru_cache.rb".freeze, "lib/tins/memoize.rb".freeze, "lib/tins/method_description.rb".freeze, "lib/tins/minimize.rb".freeze, "lib/tins/module_group.rb".freeze, "lib/tins/named_set.rb".freeze, "lib/tins/null.rb".freeze, "lib/tins/once.rb".freeze, "lib/tins/p.rb".freeze, "lib/tins/partial_application.rb".freeze, "lib/tins/proc_compose.rb".freeze, "lib/tins/proc_prelude.rb".freeze, "lib/tins/range_plus.rb".freeze, "lib/tins/require_maybe.rb".freeze, "lib/tins/responding.rb".freeze, "lib/tins/secure_write.rb".freeze, "lib/tins/sexy_singleton.rb".freeze, "lib/tins/string_byte_order_mark.rb".freeze, "lib/tins/string_camelize.rb".freeze, "lib/tins/string_underscore.rb".freeze, "lib/tins/string_version.rb".freeze, "lib/tins/subhash.rb".freeze, "lib/tins/temp_io.rb".freeze, "lib/tins/temp_io_enum.rb".freeze, "lib/tins/terminal.rb".freeze, "lib/tins/thread_local.rb".freeze, "lib/tins/time_dummy.rb".freeze, "lib/tins/timed_cache.rb".freeze, "lib/tins/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.rb".freeze, "lib/tins/uniq_by.rb".freeze, "lib/tins/unit.rb".freeze, "lib/tins/version.rb".freeze, "lib/tins/write.rb".freeze, "lib/tins/xt.rb".freeze, "lib/tins/xt/annotate.rb".freeze, "lib/tins/xt/ask_and_send.rb".freeze, "lib/tins/xt/attempt.rb".freeze, "lib/tins/xt/blank.rb".freeze, "lib/tins/xt/case_predicate.rb".freeze, "lib/tins/xt/complete.rb".freeze, "lib/tins/xt/concern.rb".freeze, "lib/tins/xt/count_by.rb".freeze, "lib/tins/xt/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_const_get.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deprecate.rb".freeze, "lib/tins/xt/dslkit.rb".freeze, "lib/tins/xt/expose.rb".freeze, "lib/tins/xt/extract_last_argument_options.rb".freeze, "lib/tins/xt/file_binary.rb".freeze, "lib/tins/xt/full.rb".freeze, "lib/tins/xt/hash_bfs.rb".freeze, "lib/tins/xt/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/xt/hash_union.rb".freeze, "lib/tins/xt/if_predicate.rb".freeze, "lib/tins/xt/implement.rb".freeze, "lib/tins/xt/irb.rb".freeze, "lib/tins/xt/method_description.rb".freeze, "lib/tins/xt/named.rb".freeze, "lib/tins/xt/null.rb".freeze, "lib/tins/xt/p.rb".freeze, "lib/tins/xt/partial_application.rb".freeze, "lib/tins/xt/proc_compose.rb".freeze, "lib/tins/xt/proc_prelude.rb".freeze, "lib/tins/xt/range_plus.rb".freeze, "lib/tins/xt/require_maybe.rb".freeze, "lib/tins/xt/responding.rb".freeze, "lib/tins/xt/secure_write.rb".freeze, "lib/tins/xt/sexy_singleton.rb".freeze, "lib/tins/xt/string.rb".freeze, "lib/tins/xt/string_byte_order_mark.rb".freeze, "lib/tins/xt/string_camelize.rb".freeze, "lib/tins/xt/string_underscore.rb".freeze, "lib/tins/xt/string_version.rb".freeze, "lib/tins/xt/subhash.rb".freeze, "lib/tins/xt/temp_io.rb".freeze, "lib/tins/xt/time_dummy.rb".freeze, "lib/tins/xt/time_freezer.rb".freeze, "lib/tins/xt/to.rb".freeze, "lib/tins/xt/uniq_by.rb".freeze, "lib/tins/xt/write.rb".freeze]
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.licenses = ["MIT".freeze]
|
18
18
|
s.rdoc_options = ["--title".freeze, "Tins - Useful stuff.".freeze, "--main".freeze, "README.md".freeze]
|
19
19
|
s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
|
20
|
-
s.rubygems_version = "3.
|
20
|
+
s.rubygems_version = "3.6.2".freeze
|
21
21
|
s.summary = "Useful stuff.".freeze
|
22
22
|
s.test_files = ["tests/annotate_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, "tests/attempt_test.rb".freeze, "tests/bijection_test.rb".freeze, "tests/blank_full_test.rb".freeze, "tests/case_predicate_test.rb".freeze, "tests/concern_test.rb".freeze, "tests/count_by_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_const_get_test.rb".freeze, "tests/deep_dup_test.rb".freeze, "tests/delegate_test.rb".freeze, "tests/deprecate_test.rb".freeze, "tests/dslkit_test.rb".freeze, "tests/duration_test.rb".freeze, "tests/dynamic_scope_test.rb".freeze, "tests/expose_test.rb".freeze, "tests/extract_last_argument_options_test.rb".freeze, "tests/file_binary_test.rb".freeze, "tests/find_test.rb".freeze, "tests/from_module_test.rb".freeze, "tests/generator_test.rb".freeze, "tests/go_test.rb".freeze, "tests/hash_bfs_test.rb".freeze, "tests/hash_symbolize_keys_recursive_test.rb".freeze, "tests/hash_union_test.rb".freeze, "tests/if_predicate_test.rb".freeze, "tests/implement_test.rb".freeze, "tests/limited_test.rb".freeze, "tests/lines_file_test.rb".freeze, "tests/lru_cache_test.rb".freeze, "tests/memoize_test.rb".freeze, "tests/method_description_test.rb".freeze, "tests/minimize_test.rb".freeze, "tests/module_group_test.rb".freeze, "tests/named_set_test.rb".freeze, "tests/named_test.rb".freeze, "tests/null_test.rb".freeze, "tests/p_test.rb".freeze, "tests/partial_application_test.rb".freeze, "tests/proc_compose_test.rb".freeze, "tests/proc_prelude_test.rb".freeze, "tests/range_plus_test.rb".freeze, "tests/require_maybe_test.rb".freeze, "tests/responding_test.rb".freeze, "tests/rotate_test.rb".freeze, "tests/scope_test.rb".freeze, "tests/secure_write_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, "tests/string_byte_order_mark_test.rb".freeze, "tests/string_camelize_test.rb".freeze, "tests/string_underscore_test.rb".freeze, "tests/string_version_test.rb".freeze, "tests/subhash_test.rb".freeze, "tests/temp_io_test.rb".freeze, "tests/test_helper.rb".freeze, "tests/time_dummy_test.rb".freeze, "tests/time_freezer_test.rb".freeze, "tests/to_test.rb".freeze, "tests/token_test.rb".freeze, "tests/uniq_by_test.rb".freeze, "tests/unit_test.rb".freeze, "tests/annotate_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, "tests/attempt_test.rb".freeze, "tests/bijection_test.rb".freeze, "tests/blank_full_test.rb".freeze, "tests/case_predicate_test.rb".freeze, "tests/concern_test.rb".freeze, "tests/count_by_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_const_get_test.rb".freeze, "tests/deep_dup_test.rb".freeze, "tests/delegate_test.rb".freeze, "tests/deprecate_test.rb".freeze, "tests/dslkit_test.rb".freeze, "tests/duration_test.rb".freeze, "tests/dynamic_scope_test.rb".freeze, "tests/expose_test.rb".freeze, "tests/extract_last_argument_options_test.rb".freeze, "tests/file_binary_test.rb".freeze, "tests/find_test.rb".freeze, "tests/from_module_test.rb".freeze, "tests/generator_test.rb".freeze, "tests/go_test.rb".freeze, "tests/hash_bfs_test.rb".freeze, "tests/hash_symbolize_keys_recursive_test.rb".freeze, "tests/hash_union_test.rb".freeze, "tests/if_predicate_test.rb".freeze, "tests/implement_test.rb".freeze, "tests/limited_test.rb".freeze, "tests/lines_file_test.rb".freeze, "tests/lru_cache_test.rb".freeze, "tests/memoize_test.rb".freeze, "tests/method_description_test.rb".freeze, "tests/minimize_test.rb".freeze, "tests/module_group_test.rb".freeze, "tests/named_set_test.rb".freeze, "tests/named_test.rb".freeze, "tests/null_test.rb".freeze, "tests/p_test.rb".freeze, "tests/partial_application_test.rb".freeze, "tests/proc_compose_test.rb".freeze, "tests/proc_prelude_test.rb".freeze, "tests/range_plus_test.rb".freeze, "tests/require_maybe_test.rb".freeze, "tests/responding_test.rb".freeze, "tests/rotate_test.rb".freeze, "tests/scope_test.rb".freeze, "tests/secure_write_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, "tests/string_byte_order_mark_test.rb".freeze, "tests/string_camelize_test.rb".freeze, "tests/string_underscore_test.rb".freeze, "tests/string_version_test.rb".freeze, "tests/subhash_test.rb".freeze, "tests/temp_io_test.rb".freeze, "tests/time_dummy_test.rb".freeze, "tests/time_freezer_test.rb".freeze, "tests/to_test.rb".freeze, "tests/token_test.rb".freeze, "tests/uniq_by_test.rb".freeze, "tests/unit_test.rb".freeze]
|
23
23
|
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tins
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.38.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-01-07 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: gem_hadar
|
@@ -463,7 +462,6 @@ homepage: https://github.com/flori/tins
|
|
463
462
|
licenses:
|
464
463
|
- MIT
|
465
464
|
metadata: {}
|
466
|
-
post_install_message:
|
467
465
|
rdoc_options:
|
468
466
|
- "--title"
|
469
467
|
- Tins - Useful stuff.
|
@@ -482,8 +480,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
482
480
|
- !ruby/object:Gem::Version
|
483
481
|
version: '0'
|
484
482
|
requirements: []
|
485
|
-
rubygems_version: 3.
|
486
|
-
signing_key:
|
483
|
+
rubygems_version: 3.6.2
|
487
484
|
specification_version: 4
|
488
485
|
summary: Useful stuff.
|
489
486
|
test_files:
|