tins 1.44.1 → 1.46.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 +25 -0
- data/Rakefile +6 -2
- data/lib/tins/go.rb +9 -0
- data/lib/tins/string_version.rb +11 -2
- data/lib/tins/version.rb +1 -1
- data/tests/go_test.rb +4 -2
- data/tests/string_version_test.rb +13 -0
- data/tins.gemspec +4 -4
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d1b389e636a16cc5689bf6289e6ec7eb0242c245851fbf208d14284df4fb941
|
|
4
|
+
data.tar.gz: f1d2211dfed516bbff6a93a94a0ac02dc2ab1aa029dd741655eac116e35d2cb6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 408866a386efdeaf813f5c0ece264da6851ff6e4332a4838c8daa5f7e50d4689e652201ec0160f38d7e92d738d19fef9800842a7ec4e301a37458ca378a27afa
|
|
7
|
+
data.tar.gz: 213f32c4de0712be8e495a6ffebb2f36172e77016b56831bb5106efb5b020322317b0870ed2b3ab11f88bf469c1ba60fc539c4003ce1bbf86a53a591ac667455
|
data/CHANGES.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changes
|
|
2
2
|
|
|
3
|
+
## 2025-11-10 v1.46.0
|
|
4
|
+
|
|
5
|
+
- Updated `s.rubygems_version` from **3.6.9** to **3.7.2** in gemspec
|
|
6
|
+
- In Tins::GO
|
|
7
|
+
- Extended string defaults with `EnumerableExtension` transformation
|
|
8
|
+
- Modified `v.transform_values!` to check and extend strings that aren't already `EnumerableExtension`
|
|
9
|
+
- Applied `w << w` to properly initialize the extension on default strings
|
|
10
|
+
- Updated tests to verify `EnumerableExtension` instances for both `v` and `w` options
|
|
11
|
+
- Set default value for `?w` option to **'baz'** in test cases
|
|
12
|
+
- Maintained backward compatibility while normalizing string handling
|
|
13
|
+
- Ensured consistent behavior between ARGV strings and default strings
|
|
14
|
+
|
|
15
|
+
## 2025-10-16 v1.45.0
|
|
16
|
+
|
|
17
|
+
- Added `patch` alias for `build` and `build=` methods to align with SemVer terminology
|
|
18
|
+
- Updated `LEVELS` mapping to support `:patch` as alias for `:build` index
|
|
19
|
+
- Added `patch` and `patch=` aliases using the `alias` method
|
|
20
|
+
- Added tests for `patch` getter and setter functionality
|
|
21
|
+
- Updated `gem_hadar` development dependency from version **2.5** to **2.8**
|
|
22
|
+
- Added `openssl-dev` to Docker build dependencies
|
|
23
|
+
- Added `github_workflows` configuration to `Rakefile` for `static.yml` workflow
|
|
24
|
+
- Removed `.byebug_history` from `.gitignore` file
|
|
25
|
+
- Removed `.byebug_history` from ignore list in `Rakefile`
|
|
26
|
+
- Removed duplicate `mize` entry from code indexer configuration
|
|
27
|
+
|
|
3
28
|
## 2025-09-13 v1.44.1
|
|
4
29
|
|
|
5
30
|
- Updated documentation link in README.md to point to GitHub.io instead of
|
data/Rakefile
CHANGED
|
@@ -14,14 +14,18 @@ GemHadar do
|
|
|
14
14
|
doc_code_files files.grep(%r(\Alib/))
|
|
15
15
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', 'coverage',
|
|
16
16
|
'.rbx', '.AppleDouble', '.DS_Store', 'tags', 'cscope.out', '.bundle',
|
|
17
|
-
'.
|
|
17
|
+
'.yardoc', 'doc', 'TODO.md'
|
|
18
18
|
package_ignore '.all_images.yml', '.tool-versions', '.gitignore',
|
|
19
|
-
'VERSION', '.utilsrc',
|
|
19
|
+
'VERSION', '.utilsrc', '.github', '.contexts'
|
|
20
20
|
|
|
21
21
|
readme 'README.md'
|
|
22
22
|
licenses << 'MIT'
|
|
23
23
|
clean << 'coverage'
|
|
24
24
|
|
|
25
|
+
github_workflows(
|
|
26
|
+
'static.yml' => {}
|
|
27
|
+
)
|
|
28
|
+
|
|
25
29
|
required_ruby_version '>= 3.1'
|
|
26
30
|
|
|
27
31
|
dependency 'sync'
|
data/lib/tins/go.rb
CHANGED
|
@@ -166,6 +166,15 @@ module Tins
|
|
|
166
166
|
end && break
|
|
167
167
|
end
|
|
168
168
|
r.reject! { |a| (b[p] = false) || true if /\A~(?<p>.)/ =~ a }
|
|
169
|
+
v.transform_values! do |w|
|
|
170
|
+
if w.is_a?(String) && !w.is_a?(EnumerableExtension)
|
|
171
|
+
w = w.dup
|
|
172
|
+
w.extend EnumerableExtension
|
|
173
|
+
w << w
|
|
174
|
+
else
|
|
175
|
+
w
|
|
176
|
+
end
|
|
177
|
+
end
|
|
169
178
|
args.replace r
|
|
170
179
|
b.merge(v)
|
|
171
180
|
end
|
data/lib/tins/string_version.rb
CHANGED
|
@@ -23,10 +23,13 @@ module Tins
|
|
|
23
23
|
module StringVersion
|
|
24
24
|
# Map of version level symbols to their numeric indices
|
|
25
25
|
LEVELS = [ :major, :minor, :build, :revision ].each_with_index.
|
|
26
|
-
each_with_object({}) { |(k, v), h| h[k] = v }
|
|
26
|
+
each_with_object({}) { |(k, v), h| h[k] = v }
|
|
27
|
+
symbols = LEVELS.invert.freeze
|
|
28
|
+
LEVELS[:patch] = LEVELS[:build]
|
|
29
|
+
LEVELS.freeze
|
|
27
30
|
|
|
28
31
|
# Inverted map of LEVELS for symbol lookup
|
|
29
|
-
SYMBOLS =
|
|
32
|
+
SYMBOLS = symbols.freeze
|
|
30
33
|
|
|
31
34
|
# Represents a version string with semantic comparison capabilities
|
|
32
35
|
#
|
|
@@ -103,6 +106,9 @@ module Tins
|
|
|
103
106
|
self[2]
|
|
104
107
|
end
|
|
105
108
|
|
|
109
|
+
# Alias for {#build} according to SemVer nomenclature
|
|
110
|
+
alias patch build
|
|
111
|
+
|
|
106
112
|
# Sets the build version component
|
|
107
113
|
#
|
|
108
114
|
# @param new_level [Integer] The new build version number
|
|
@@ -114,6 +120,9 @@ module Tins
|
|
|
114
120
|
self[2] = new_level
|
|
115
121
|
end
|
|
116
122
|
|
|
123
|
+
# Alias for {#build=} according to SemVer nomenclature
|
|
124
|
+
alias patch= build=
|
|
125
|
+
|
|
117
126
|
# Returns the revision version component
|
|
118
127
|
#
|
|
119
128
|
# @return [Integer] The revision version number
|
data/lib/tins/version.rb
CHANGED
data/tests/go_test.rb
CHANGED
|
@@ -59,8 +59,10 @@ module Tins
|
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
def test_defaults
|
|
62
|
-
r = go('bv:', args = %w[ -v bar ], defaults: { ?b => true, ?v => 'foo' })
|
|
63
|
-
assert_equal({ ?b => 1, 'v' => 'bar' }, r)
|
|
62
|
+
r = go('bv:w:', args = %w[ -v bar ], defaults: { ?b => true, ?v => 'foo', ?w => 'baz' })
|
|
63
|
+
assert_equal({ ?b => 1, 'v' => 'bar', 'w' => 'baz' }, r)
|
|
64
|
+
assert_kind_of(Tins::GO::EnumerableExtension, r[?v])
|
|
65
|
+
assert_kind_of(Tins::GO::EnumerableExtension, r[?w])
|
|
64
66
|
assert_equal [], args
|
|
65
67
|
r = go('bv:', args = %w[ -v bar ~b baz ], defaults: { ?b => true, ?v => 'foo' })
|
|
66
68
|
assert_equal({ ?b => false, 'v' => 'bar' }, r)
|
|
@@ -58,5 +58,18 @@ module Tins
|
|
|
58
58
|
assert_equal '1.2.4', v.to_s
|
|
59
59
|
assert_equal '1.2.3', w.to_s
|
|
60
60
|
end
|
|
61
|
+
|
|
62
|
+
def test_patch_getter
|
|
63
|
+
s = '1.2.3'
|
|
64
|
+
assert_equal 3, s.version.patch
|
|
65
|
+
assert_equal s.version.patch, s.version.build
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_patch_setter
|
|
69
|
+
s = '1.2.3'
|
|
70
|
+
s.version.patch = 5
|
|
71
|
+
assert_equal 5, s.version.patch
|
|
72
|
+
assert_equal s.version.patch, s.version.build
|
|
73
|
+
end
|
|
61
74
|
end
|
|
62
75
|
end
|
data/tins.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: tins 1.
|
|
2
|
+
# stub: tins 1.46.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.46.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]
|
|
@@ -17,13 +17,13 @@ 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(">= 3.1".freeze)
|
|
20
|
-
s.rubygems_version = "3.
|
|
20
|
+
s.rubygems_version = "3.7.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/date_dummy_test.rb".freeze, "tests/date_time_dummy_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_named_placeholders.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/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/date_dummy_test.rb".freeze, "tests/date_time_dummy_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/unit_test.rb".freeze]
|
|
23
23
|
|
|
24
24
|
s.specification_version = 4
|
|
25
25
|
|
|
26
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 2.
|
|
26
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 2.8".freeze])
|
|
27
27
|
s.add_development_dependency(%q<all_images>.freeze, [">= 0".freeze])
|
|
28
28
|
s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
|
|
29
29
|
s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tins
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.46.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Frank
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '2.
|
|
18
|
+
version: '2.8'
|
|
19
19
|
type: :development
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '2.
|
|
25
|
+
version: '2.8'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: all_images
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -484,7 +484,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
484
484
|
- !ruby/object:Gem::Version
|
|
485
485
|
version: '0'
|
|
486
486
|
requirements: []
|
|
487
|
-
rubygems_version: 3.
|
|
487
|
+
rubygems_version: 3.7.2
|
|
488
488
|
specification_version: 4
|
|
489
489
|
summary: Useful stuff.
|
|
490
490
|
test_files:
|