tins 1.45.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 945ad77f98b8cdd413748f454fe3d45b37e7a0ac8a8057aef37bc500d2b6dead
4
- data.tar.gz: 4f5107a685e92ae9093957d33826d8f5700310841918a51120cf642a7ee09697
3
+ metadata.gz: 2d1b389e636a16cc5689bf6289e6ec7eb0242c245851fbf208d14284df4fb941
4
+ data.tar.gz: f1d2211dfed516bbff6a93a94a0ac02dc2ab1aa029dd741655eac116e35d2cb6
5
5
  SHA512:
6
- metadata.gz: 14bd945dda0a72f85969e0bba304cd76ae7298c7b90da2b7aa6b3fd7b671b72eb9482951b1a6051ce65db4a97b7a8225ac889d5359e48f2b675be53fc48aa275
7
- data.tar.gz: d814dd29b1ee840d4f30fe1ac1d5303105dcf65ed78a7b8c92e24092a5dcd9f13218573580acae63f05f011fb066e90d9116d7c7a8282106c4c4b64dce4e6c05
6
+ metadata.gz: 408866a386efdeaf813f5c0ece264da6851ff6e4332a4838c8daa5f7e50d4689e652201ec0160f38d7e92d738d19fef9800842a7ec4e301a37458ca378a27afa
7
+ data.tar.gz: 213f32c4de0712be8e495a6ffebb2f36172e77016b56831bb5106efb5b020322317b0870ed2b3ab11f88bf469c1ba60fc539c4003ce1bbf86a53a591ac667455
data/CHANGES.md CHANGED
@@ -1,5 +1,17 @@
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
+
3
15
  ## 2025-10-16 v1.45.0
4
16
 
5
17
  - Added `patch` alias for `build` and `build=` methods to align with SemVer terminology
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/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.45.0'
3
+ VERSION = '1.46.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
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)
data/tins.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.45.0 ruby lib
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.45.0".freeze
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,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(">= 3.1".freeze)
20
- s.rubygems_version = "3.6.9".freeze
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
 
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.45.0
4
+ version: 1.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -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.6.9
487
+ rubygems_version: 3.7.2
488
488
  specification_version: 4
489
489
  summary: Useful stuff.
490
490
  test_files: