tins 1.56.0 → 1.58.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: fd2090b923a690d351489aa80cb8792b6b06de766300a287c7ae9f82eb53321a
4
- data.tar.gz: b61fd2f899759c53373f9809f59ad74b11a2241adb70fa00cb73c024bf517c6a
3
+ metadata.gz: 564a0581732d7b53d9882960e13662d1d279f7edf7d1bc4c6d717a5dc2f27188
4
+ data.tar.gz: 36ff7350160cdcc8c606ba6c91aa74d9fa7c0617caebbe7af80473f1ce499829
5
5
  SHA512:
6
- metadata.gz: 74d027369ff665630a795b0a97590c0047d53d09f9dfc2d07064ae837950ef0f48bf1155d249e300f04ee8672f1c0301ad821f837f559e5a4e20c4b732bea5be
7
- data.tar.gz: dbd9d024a5f71f4d116ae320010616072d72bb5082ed6e7eef1c24320e0bf2011056d58c24d67d8de7112afe23b3ebd6954b52376dc95eab184493d912d87f87
6
+ metadata.gz: 7bf1f364ec0c9a8b9e8db2fbcde42b9b93574f09fc2ebcadc089c62a4510cb766534e85ea40f2073311d36a9e64644194877e6673f3888f1a1327504004b6f6f
7
+ data.tar.gz: cdd850325aff0d57ccd781d8859e940161952bff48d77d72e260785ea4029fe57bfb18123471d83c1548a3e56105b2190fcb3e273aa0eb1c4e26710a0103c3df
data/.envrc CHANGED
@@ -1 +1 @@
1
- export OLLAMA_CHAT_TOOLS_TEST_RUNNER="bundle exec test-unit"
1
+ export OLLAMA_CHAT_TOOLS_TEST_RUNNER="bundle exec rake test"
data/CHANGES.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changes
2
2
 
3
+ ## 2026-09-24 v1.58.0
4
+
5
+ * Freeze the `UNSET` sentinel constant in `Tins::Delegate` to prevent
6
+ accidental mutation of the shared `Object.new` instance.
7
+ * Add `Tins::EnumSqueeze` module providing `squeeze` and `squeeze!` methods
8
+ that collapse consecutive duplicate elements, mirroring `String#squeeze`
9
+ semantics.
10
+ * `squeeze` uses a frozen sentinel constant
11
+ (`A_THING_THAT_IS_NOT_A_THING`) and `==` comparison for element
12
+ equality.
13
+ * `squeeze!` is a destructive counterpart that requires the receiver to
14
+ respond to `replace`; returns `self` if modified, `nil` otherwise.
15
+ * Add `lib/tins/xt/enum_squeeze.rb` to mix `EnumSqueeze` into `::Enumerable`.
16
+ * Add `tests/enum_squeeze_test.rb` with 15 test cases covering basic
17
+ squeezing, edge cases, `==` equality semantics, lazy enumerables, and the
18
+ `squeeze!` bang-method contract.
19
+ * Update `tins.gemspec` file lists and bump `rubygems_version` to **4.0.20**.
20
+ * Change test runner in `.envrc` from `bundle exec test-unit` to `bundle exec
21
+ rake test`.
22
+
23
+ ## 2026-09-15 v1.57.0
24
+
25
+ * Add keyword and block forwarding to `Expose#expose`
26
+ * Add `**kwargs` and `&block` forwarding to `__send__` in
27
+ `lib/tins/expose.rb`
28
+ * Restructure guards so `method_name.nil?` is checked first, preventing
29
+ kwargs from shadowing the method name
30
+ * Update YARD docs to reflect new dispatch order and remove stale `@raise
31
+ [ArgumentError]`
32
+ * Add `with_kw` and `with_block` fixture methods and three new tests in
33
+ `tests/expose_test.rb` covering kwargs, block, and combined forwarding
34
+ * Add keyword argument support to `Full#full?`
35
+ * Add `**kwargs` to `full?` method signature in `lib/tins/xt/full.rb` and
36
+ forward via `__send__`
37
+ * Update YARD documentation with `@param kwargs`
38
+ * Add `test_full_with_kwargs` in `tests/blank_full_test.rb` verifying
39
+ `**kwargs` forwarding and blank result handling
40
+ * Add keyword argument support to `AskAndSend`
41
+ * Add `**kwargs` to all four methods in `lib/tins/ask_and_send.rb`
42
+ (`ask_and_send`, `ask_and_send!`, `ask_and_send_or_self`,
43
+ `ask_and_send_or_self!`) and forward them via `__send__`
44
+ * Update YARD documentation with `@param kwargs` for each method
45
+ * Add test fixtures `foo_kw`, `foo_args`, `bar_kw`, `bar_args` in
46
+ `tests/ask_and_send_test.rb`
47
+ * Add 8 new test cases covering `**kwargs`, `*args`, and `&block`
48
+ forwarding across all four `AskAndSend` variants
49
+
3
50
  ## 2026-07-25 v1.56.0
4
51
 
5
52
  ### Changes
@@ -7,12 +7,13 @@ module Tins
7
7
  #
8
8
  # @param method_name [ Symbol ] the name of the method to invoke
9
9
  # @param args [ Array ] arguments to pass to the method
10
+ # @param kwargs [ Hash ] keyword arguments to pass to the method
10
11
  # @yield [ block ] optional block to pass to the method
11
12
  # @return [ Object, nil ] the result of the method call or nil if the
12
13
  # method doesn't exist
13
- def ask_and_send(method_name, *args, &block)
14
+ def ask_and_send(method_name, *args, **kwargs, &block)
14
15
  if respond_to?(method_name)
15
- __send__(method_name, *args, &block)
16
+ __send__(method_name, *args, **kwargs, &block)
16
17
  end
17
18
  end
18
19
 
@@ -21,13 +22,14 @@ module Tins
21
22
  #
22
23
  # @param method_name [ Symbol ] the name of the method to call
23
24
  # @param args [ Array ] arguments to pass to the method
25
+ # @param kwargs [ Hash ] keyword arguments to pass to the method
24
26
  # @param block [ Proc ] optional block to pass to the method
25
27
  #
26
28
  # @return [ Object, nil ] the result of the method call or nil if the
27
29
  # method doesn't exist
28
- def ask_and_send!(method_name, *args, &block)
30
+ def ask_and_send!(method_name, *args, **kwargs, &block)
29
31
  if respond_to?(method_name, true)
30
- __send__(method_name, *args, &block)
32
+ __send__(method_name, *args, **kwargs, &block)
31
33
  end
32
34
  end
33
35
 
@@ -38,13 +40,14 @@ module Tins
38
40
  #
39
41
  # @param method_name [ Symbol ] the name of the method to call
40
42
  # @param args [ Array ] the arguments to pass to the method
43
+ # @param kwargs [ Hash ] the keyword arguments to pass to the method
41
44
  # @param block [ Proc ] the block to pass to the method
42
45
  #
43
46
  # @return [ Object ] the result of the method call or self if the method
44
47
  # doesn't exist
45
- def ask_and_send_or_self(method_name, *args, &block)
48
+ def ask_and_send_or_self(method_name, *args, **kwargs, &block)
46
49
  if respond_to?(method_name)
47
- __send__(method_name, *args, &block)
50
+ __send__(method_name, *args, **kwargs, &block)
48
51
  else
49
52
  self
50
53
  end
@@ -57,13 +60,14 @@ module Tins
57
60
  #
58
61
  # @param method_name [ Symbol ] the name of the method to send
59
62
  # @param args [ Array ] the arguments to pass to the method
63
+ # @param kwargs [ Hash ] the keyword arguments to pass to the method
60
64
  # @param block [ Proc ] the block to pass to the method
61
65
  #
62
66
  # @return [ Object ] the result of the method call or the object itself if
63
67
  # the method is not found
64
- def ask_and_send_or_self!(method_name, *args, &block)
68
+ def ask_and_send_or_self!(method_name, *args, **kwargs, &block)
65
69
  if respond_to?(method_name, true)
66
- __send__(method_name, *args, &block)
70
+ __send__(method_name, *args, **kwargs, &block)
67
71
  else
68
72
  self
69
73
  end
data/lib/tins/dslkit.rb CHANGED
@@ -727,7 +727,7 @@ module Tins
727
727
  # This module can be included into modules/classes to make the delegate
728
728
  # method available.
729
729
  module Delegate
730
- UNSET = Object.new
730
+ UNSET = Object.new.freeze
731
731
 
732
732
  private_constant :UNSET
733
733
 
@@ -0,0 +1,65 @@
1
+ module Tins
2
+ module EnumSqueeze
3
+ A_THING_THAT_IS_NOT_A_THING = Object.new.freeze
4
+
5
+ private_constant :A_THING_THAT_IS_NOT_A_THING
6
+
7
+ # Collapse consecutive duplicate elements, mirroring
8
+ # +String#squeeze+.
9
+ #
10
+ # Two elements are considered duplicates when
11
+ # +item == previous+ is true.
12
+ #
13
+ # @return [Array] a new array with consecutive duplicates removed
14
+ #
15
+ # @example Basic usage:
16
+ # [1, 1, 2, 2, 3, 1].squeeze # => [1, 2, 3, 1]
17
+ #
18
+ # @example Only consecutive duplicates are collapsed:
19
+ # [1, 2, 1, 2, 1].squeeze # => [1, 2, 1, 2, 1]
20
+ #
21
+ # @example Mirrors String#squeeze semantics:
22
+ # "aabbcc".squeeze # => "abc"
23
+ def squeeze
24
+ result = []
25
+ prev = A_THING_THAT_IS_NOT_A_THING
26
+
27
+ each do |item|
28
+ unless item == prev
29
+ result << item
30
+ prev = item
31
+ end
32
+ end
33
+
34
+ result
35
+ end
36
+
37
+ # Collapse consecutive duplicate elements in place.
38
+ #
39
+ # Destructive counterpart to +squeeze+: the receiver is modified
40
+ # via +replace+; no new object is allocated.
41
+ #
42
+ # @return [self] if one or more consecutive duplicates were removed
43
+ # @return [nil] if the receiver was already free of consecutive
44
+ # duplicates
45
+ # @raise [RuntimeError] if the receiver does not respond to
46
+ # +replace+ and therefore cannot be squeezed in place
47
+ # @see squeeze
48
+ #
49
+ # @example Squeezing an array with consecutive duplicates:
50
+ # a = [1, 1, 2, 2, 3, 1]
51
+ # a.squeeze! # => self
52
+ # a # => [1, 2, 3, 1]
53
+ #
54
+ # @example No consecutive duplicates — returns nil:
55
+ # b = [1, 2, 3]
56
+ # b.squeeze! # => nil
57
+ # b # => [1, 2, 3]
58
+ def squeeze!
59
+ respond_to?(:replace) or raise 'cannot be squeezed in place!'
60
+ squeezed = squeeze
61
+ return if squeezed.count == count
62
+ replace squeezed
63
+ end
64
+ end
65
+ end
data/lib/tins/expose.rb CHANGED
@@ -40,36 +40,42 @@ module Tins
40
40
  # This method provides three distinct usage patterns:
41
41
  #
42
42
  # 1. **Method Call**: When given a method name, directly calls that method
43
- # and returns its result.
43
+ # and returns its result. Positional arguments, keyword arguments, and
44
+ # a block can be forwarded to the called method.
44
45
  #
45
- # 2. **Block Execution**: When given a block, evaluates the block in the
46
- # context of the object, allowing access to private/protected methods.
46
+ # 2. **Block Execution**: When called without a method name but with a
47
+ # block, evaluates the block in the context of the object, allowing
48
+ # access to private/protected methods.
47
49
  #
48
- # 3. **Full Exposure**: When called without arguments, returns a duplicate
49
- # of the object with all private and protected methods exposed as public.
50
+ # 3. **Full Exposure**: When called without a method name and without a
51
+ # block, returns a duplicate of the object with all private and
52
+ # protected methods exposed as public.
50
53
  #
51
54
  # @param method_name [Symbol, String, nil] name of the method to call,
52
55
  # or nil for full exposure
53
56
  # @param args [Array] arguments to pass to the method when calling it
54
- # @param block [Proc] block to execute in the context of the object
57
+ # @param kwargs [Hash] keyword arguments to pass to the method when calling it
58
+ # @param block [Proc] block to execute in the context of the object or
59
+ # to forward to the called method
55
60
  #
56
61
  # @return [Object] result of the method call, block execution, or a new
57
62
  # object with exposed methods (when called without args)
58
63
  #
59
64
  # @raise [NoMethodError] if method_name is given but doesn't exist
60
- # @raise [ArgumentError] if both method_name and block are provided
61
- def expose(method_name = nil, *args, &block)
62
- if block
63
- instance_eval(&block)
64
- elsif method_name.nil?
65
- methods = private_methods(true) + protected_methods(true)
66
- o = dup
67
- o.singleton_class.class_eval do
68
- public(*methods)
65
+ def expose(method_name = nil, *args, **kwargs, &block)
66
+ if method_name.nil?
67
+ if block
68
+ instance_eval(&block)
69
+ else
70
+ methods = private_methods(true) + protected_methods(true)
71
+ o = dup
72
+ o.singleton_class.class_eval do
73
+ public(*methods)
74
+ end
75
+ o
69
76
  end
70
- o
71
77
  elsif method_name
72
- __send__(method_name, *args)
78
+ __send__(method_name, *args, **kwargs, &block)
73
79
  end
74
80
  end
75
81
  end
data/lib/tins/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.56.0'
3
+ VERSION = '1.58.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:
@@ -0,0 +1,7 @@
1
+ require 'tins/enum_squeeze'
2
+
3
+ module Tins
4
+ module ::Enumerable
5
+ include EnumSqueeze
6
+ end
7
+ end
data/lib/tins/xt/full.rb CHANGED
@@ -26,6 +26,7 @@ module Tins
26
26
  #
27
27
  # @param dispatch [Symbol, nil] The method to call on the object (optional)
28
28
  # @param args [Array] Arguments to pass to the dispatched method (optional)
29
+ # @param kwargs [Hash] Keyword arguments to pass to the dispatched method (optional)
29
30
  # @yield [Object] Optional block to execute with the result if result or
30
31
  # dispatched result not nil
31
32
  # @return [Object, nil] The object itself if not blank, or the result of
@@ -43,11 +44,11 @@ module Tins
43
44
  #
44
45
  # @example With block execution
45
46
  # user.full?(:name) { |name| "Hello #{name}" }
46
- def full?(dispatch = nil, *args)
47
+ def full?(dispatch = nil, *args, **kwargs)
47
48
  if blank?
48
49
  obj = nil
49
50
  elsif dispatch
50
- obj = __send__(dispatch, *args)
51
+ obj = __send__(dispatch, *args, **kwargs)
51
52
  obj = nil if obj.blank?
52
53
  else
53
54
  obj = self
data/lib/tins/xt.rb CHANGED
@@ -44,4 +44,5 @@ module Tins
44
44
  require 'tins/xt/hash_dfs'
45
45
  require 'tins/xt/deep_transform'
46
46
  require 'tins/xt/minimize'
47
+ require 'tins/xt/enum_squeeze'
47
48
  end
data/lib/tins.rb CHANGED
@@ -76,5 +76,6 @@ module Tins
76
76
  require 'tins/hash_bfs'
77
77
  require 'tins/hash_dfs'
78
78
  require 'tins/deep_transform'
79
+ require 'tins/enum_squeeze'
79
80
  end
80
81
  require 'tins/alias'
@@ -10,11 +10,27 @@ module Tins
10
10
  :foo
11
11
  end
12
12
 
13
+ def foo_kw(x:)
14
+ [:foo_kw, x]
15
+ end
16
+
17
+ def foo_args(*args, &block)
18
+ [:foo_args, args, block&.call]
19
+ end
20
+
13
21
  private
14
22
 
15
23
  def bar
16
24
  :bar
17
25
  end
26
+
27
+ def bar_kw(x:)
28
+ [:bar_kw, x]
29
+ end
30
+
31
+ def bar_args(*args, &block)
32
+ [:bar_args, args, block&.call]
33
+ end
18
34
  end
19
35
 
20
36
  def test_asking_publicly
@@ -42,5 +58,51 @@ module Tins
42
58
  assert_equal :bar, a.ask_and_send_or_self!(:bar)
43
59
  assert_equal a, a.ask_and_send_or_self(:baz)
44
60
  end
61
+
62
+ def test_asking_publicly_with_kwargs
63
+ assert_equal [:foo_kw, 42], A.new.ask_and_send(:foo_kw, x: 42)
64
+ assert_nil A.new.ask_and_send(:bar_kw, x: 42)
65
+ end
66
+
67
+ def test_asking_privately_with_kwargs
68
+ assert_equal [:foo_kw, 42], A.new.ask_and_send!(:foo_kw, x: 42)
69
+ assert_equal [:bar_kw, 42], A.new.ask_and_send!(:bar_kw, x: 42)
70
+ end
71
+
72
+ def test_asking_selfy_publicly_with_kwargs
73
+ a = A.new
74
+ assert_equal [:foo_kw, 7], a.ask_and_send_or_self(:foo_kw, x: 7)
75
+ assert_equal a, a.ask_and_send_or_self(:bar_kw, x: 7)
76
+ end
77
+
78
+ def test_asking_selfy_privately_with_kwargs
79
+ a = A.new
80
+ assert_equal [:foo_kw, 7], a.ask_and_send_or_self!(:foo_kw, x: 7)
81
+ assert_equal [:bar_kw, 7], a.ask_and_send_or_self!(:bar_kw, x: 7)
82
+ end
83
+
84
+ def test_asking_publicly_with_args_and_block
85
+ a = A.new
86
+ assert_equal [:foo_args, [1, 2], :hello], a.ask_and_send(:foo_args, 1, 2) { :hello }
87
+ assert_nil a.ask_and_send(:bar_args, 1, 2) { :hello }
88
+ end
89
+
90
+ def test_asking_privately_with_args_and_block
91
+ a = A.new
92
+ assert_equal [:foo_args, [1, 2], :hello], a.ask_and_send!(:foo_args, 1, 2) { :hello }
93
+ assert_equal [:bar_args, [3, 4], :world], a.ask_and_send!(:bar_args, 3, 4) { :world }
94
+ end
95
+
96
+ def test_asking_selfy_publicly_with_args_and_block
97
+ a = A.new
98
+ assert_equal [:foo_args, [1], :ok], a.ask_and_send_or_self(:foo_args, 1) { :ok }
99
+ assert_equal a, a.ask_and_send_or_self(:bar_args, 1) { :ok }
100
+ end
101
+
102
+ def test_asking_selfy_privately_with_args_and_block
103
+ a = A.new
104
+ assert_equal [:foo_args, [1], :ok], a.ask_and_send_or_self!(:foo_args, 1) { :ok }
105
+ assert_equal [:bar_args, [2], :ok], a.ask_and_send_or_self!(:bar_args, 2) { :ok }
106
+ end
45
107
  end
46
108
  end
@@ -58,6 +58,15 @@ module Tins
58
58
  assert_equal 3, "foo".full?(:size)
59
59
  end
60
60
 
61
+ def test_full_with_kwargs
62
+ obj = Object.new
63
+ def obj.greet(name:)
64
+ "hello #{name}"
65
+ end
66
+ assert_equal 'hello world', obj.full?(:greet, name: 'world')
67
+ assert_nil ''.full?(:greet, name: 'world')
68
+ end
69
+
61
70
  def test_all_full
62
71
  assert_equal [1, 2], [1, 2].all_full?
63
72
  assert_nil [nil, 2].all_full?
@@ -0,0 +1,84 @@
1
+ require 'test_helper'
2
+ require 'tins/xt/enum_squeeze'
3
+
4
+ module Tins
5
+ class EnumSqueezeTest < Test::Unit::TestCase
6
+ # --- squeeze (non-bang) ---
7
+
8
+ def test_basic
9
+ assert_equal [1, 2, 3, 1], [1, 1, 2, 2, 3, 1].squeeze
10
+ end
11
+
12
+ def test_non_consecutive_duplicates_survive
13
+ assert_equal [1, 2, 1, 2, 1], [1, 2, 1, 2, 1].squeeze
14
+ end
15
+
16
+ def test_all_same_element
17
+ assert_equal [7], [7, 7, 7, 7].squeeze
18
+ end
19
+
20
+ def test_single_element
21
+ assert_equal [42], [42].squeeze
22
+ end
23
+
24
+ def test_empty
25
+ assert_equal [], [].squeeze
26
+ end
27
+
28
+ def test_no_duplicates
29
+ assert_equal [1, 2, 3], [1, 2, 3].squeeze
30
+ end
31
+
32
+ def test_returns_new_array
33
+ a = [1, 1, 2]
34
+ b = a.squeeze
35
+ refute_same a, b
36
+ assert_equal [1, 1, 2], a
37
+ end
38
+
39
+ def test_equality_semantics
40
+ # 1 == 1.0 is true, so the second is collapsed
41
+ assert_equal [1, 2], [1, 1.0, 2].squeeze
42
+ end
43
+
44
+ def test_works_on_range
45
+ assert_equal [1, 2, 3], (1..3).to_a.squeeze
46
+ end
47
+
48
+ def test_works_on_lazy_enumerable
49
+ result = [1, 1, 2, 2, 3].lazy.map { |x| x }.squeeze
50
+ assert_equal [1, 2, 3], result
51
+ end
52
+
53
+ # --- squeeze! (bang) ---
54
+
55
+ def test_squeeze_bang_modifies_in_place
56
+ a = [1, 1, 2, 2, 3, 1]
57
+ a.squeeze!
58
+ assert_equal [1, 2, 3, 1], a
59
+ end
60
+
61
+ def test_squeeze_bang_returns_self_when_changed
62
+ a = [1, 1, 2]
63
+ result = a.squeeze!
64
+ assert_same a, result
65
+ end
66
+
67
+ def test_squeeze_bang_returns_nil_when_unchanged
68
+ a = [1, 2, 3]
69
+ assert_nil a.squeeze!
70
+ assert_equal [1, 2, 3], a
71
+ end
72
+
73
+ def test_squeeze_bang_empty_array
74
+ a = []
75
+ assert_nil a.squeeze!
76
+ assert_equal [], a
77
+ end
78
+
79
+ def test_squeeze_bang_raises_without_replace
80
+ enum = [1, 1, 2].each # Enumerator has no #replace
81
+ assert_raise(RuntimeError) { enum.squeeze! }
82
+ end
83
+ end
84
+ end
data/tests/expose_test.rb CHANGED
@@ -13,6 +13,16 @@ module Tins
13
13
  :prot
14
14
  end
15
15
  protected :prot
16
+
17
+ def with_kw(x:)
18
+ [:with_kw, x]
19
+ end
20
+ private :with_kw
21
+
22
+ def with_block
23
+ yield :from_block
24
+ end
25
+ private :with_block
16
26
  end
17
27
 
18
28
  def setup
@@ -39,5 +49,17 @@ module Tins
39
49
  assert_equal :priv, @a.expose(:priv)
40
50
  assert_equal :prot, @a.expose(:prot, :any)
41
51
  end
52
+
53
+ def test_exposes_method_with_kwargs
54
+ assert_equal [:with_kw, 42], @a.expose(:with_kw, x: 42)
55
+ end
56
+
57
+ def test_exposes_method_with_block
58
+ assert_equal :from_block, @a.expose(:with_block) { |v| v }
59
+ end
60
+
61
+ def test_exposes_method_with_kwargs_and_block
62
+ assert_equal [:with_kw, 7], @a.expose(:with_kw, x: 7) { :ignored }
63
+ end
42
64
  end
43
65
  end
data/tins.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.56.0 ruby lib
2
+ # stub: tins 1.58.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.56.0".freeze
6
+ s.version = "1.58.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]
@@ -11,19 +11,19 @@ Gem::Specification.new do |s|
11
11
  s.date = "1980-01-02"
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
- 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/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deep_transform.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_dfs.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_named_placeholders.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/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.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/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deep_transform.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_dfs.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/minimize.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_named_placeholders.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/write.rb".freeze]
15
- s.files = [".envrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "examples/add_one.png".freeze, "examples/add_one.stm".freeze, "examples/bb3.png".freeze, "examples/bb3.stm".freeze, "examples/concatenate_compare.mtm".freeze, "examples/concatenate_compare.png".freeze, "examples/length_difference.mtm".freeze, "examples/length_difference.png".freeze, "examples/let.rb".freeze, "examples/mail.rb".freeze, "examples/minsky.rb".freeze, "examples/multiply.reg".freeze, "examples/null_pattern.rb".freeze, "examples/ones_difference-mtm.png".freeze, "examples/ones_difference-stm.png".freeze, "examples/ones_difference.mtm".freeze, "examples/ones_difference.stm".freeze, "examples/prefix-equals-suffix-reversed-with-infix.png".freeze, "examples/prefix-equals-suffix-reversed-with-infix.stm".freeze, "examples/recipe.rb".freeze, "examples/recipe2.rb".freeze, "examples/recipe_common.rb".freeze, "examples/subtract.reg".freeze, "examples/turing-graph.rb".freeze, "examples/turing.rb".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz".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/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deep_transform.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_dfs.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_named_placeholders.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/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.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/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deep_transform.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_dfs.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/minimize.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_named_placeholders.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/write.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/deep_transform_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_dfs_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, "tins.gemspec".freeze]
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/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deep_transform.rb".freeze, "lib/tins/deprecate.rb".freeze, "lib/tins/dslkit.rb".freeze, "lib/tins/duration.rb".freeze, "lib/tins/enum_squeeze.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_dfs.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_named_placeholders.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/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.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/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deep_transform.rb".freeze, "lib/tins/xt/deprecate.rb".freeze, "lib/tins/xt/dslkit.rb".freeze, "lib/tins/xt/enum_squeeze.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_dfs.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/minimize.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_named_placeholders.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/write.rb".freeze]
15
+ s.files = [".envrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "examples/add_one.png".freeze, "examples/add_one.stm".freeze, "examples/bb3.png".freeze, "examples/bb3.stm".freeze, "examples/concatenate_compare.mtm".freeze, "examples/concatenate_compare.png".freeze, "examples/length_difference.mtm".freeze, "examples/length_difference.png".freeze, "examples/let.rb".freeze, "examples/mail.rb".freeze, "examples/minsky.rb".freeze, "examples/multiply.reg".freeze, "examples/null_pattern.rb".freeze, "examples/ones_difference-mtm.png".freeze, "examples/ones_difference-stm.png".freeze, "examples/ones_difference.mtm".freeze, "examples/ones_difference.stm".freeze, "examples/prefix-equals-suffix-reversed-with-infix.png".freeze, "examples/prefix-equals-suffix-reversed-with-infix.stm".freeze, "examples/recipe.rb".freeze, "examples/recipe2.rb".freeze, "examples/recipe_common.rb".freeze, "examples/subtract.reg".freeze, "examples/turing-graph.rb".freeze, "examples/turing.rb".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz".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/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deep_transform.rb".freeze, "lib/tins/deprecate.rb".freeze, "lib/tins/dslkit.rb".freeze, "lib/tins/duration.rb".freeze, "lib/tins/enum_squeeze.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_dfs.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_named_placeholders.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/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.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/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deep_transform.rb".freeze, "lib/tins/xt/deprecate.rb".freeze, "lib/tins/xt/dslkit.rb".freeze, "lib/tins/xt/enum_squeeze.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_dfs.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/minimize.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_named_placeholders.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/write.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/deep_transform_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/enum_squeeze_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_dfs_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, "tins.gemspec".freeze]
16
16
  s.homepage = "https://github.com/flori/tins".freeze
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 = "4.0.17".freeze
20
+ s.rubygems_version = "4.0.20".freeze
21
21
  s.summary = "Useful stuff.".freeze
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/deep_transform_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_dfs_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/deep_transform_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_dfs_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]
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/deep_transform_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/enum_squeeze_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_dfs_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/deep_transform_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/enum_squeeze_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_dfs_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.17.1".freeze])
26
+ s.add_development_dependency(%q<gem_hadar>.freeze, [">= 2.18.0".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.56.0
4
+ version: 1.58.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.17.1
18
+ version: 2.18.0
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.17.1
25
+ version: 2.18.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: all_images
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -189,6 +189,7 @@ extra_rdoc_files:
189
189
  - lib/tins/deprecate.rb
190
190
  - lib/tins/dslkit.rb
191
191
  - lib/tins/duration.rb
192
+ - lib/tins/enum_squeeze.rb
192
193
  - lib/tins/expose.rb
193
194
  - lib/tins/extract_last_argument_options.rb
194
195
  - lib/tins/file_binary.rb
@@ -251,6 +252,7 @@ extra_rdoc_files:
251
252
  - lib/tins/xt/deep_transform.rb
252
253
  - lib/tins/xt/deprecate.rb
253
254
  - lib/tins/xt/dslkit.rb
255
+ - lib/tins/xt/enum_squeeze.rb
254
256
  - lib/tins/xt/expose.rb
255
257
  - lib/tins/xt/extract_last_argument_options.rb
256
258
  - lib/tins/xt/file_binary.rb
@@ -339,6 +341,7 @@ files:
339
341
  - lib/tins/deprecate.rb
340
342
  - lib/tins/dslkit.rb
341
343
  - lib/tins/duration.rb
344
+ - lib/tins/enum_squeeze.rb
342
345
  - lib/tins/expose.rb
343
346
  - lib/tins/extract_last_argument_options.rb
344
347
  - lib/tins/file_binary.rb
@@ -401,6 +404,7 @@ files:
401
404
  - lib/tins/xt/deep_transform.rb
402
405
  - lib/tins/xt/deprecate.rb
403
406
  - lib/tins/xt/dslkit.rb
407
+ - lib/tins/xt/enum_squeeze.rb
404
408
  - lib/tins/xt/expose.rb
405
409
  - lib/tins/xt/extract_last_argument_options.rb
406
410
  - lib/tins/xt/file_binary.rb
@@ -453,6 +457,7 @@ files:
453
457
  - tests/dslkit_test.rb
454
458
  - tests/duration_test.rb
455
459
  - tests/dynamic_scope_test.rb
460
+ - tests/enum_squeeze_test.rb
456
461
  - tests/expose_test.rb
457
462
  - tests/extract_last_argument_options_test.rb
458
463
  - tests/file_binary_test.rb
@@ -523,7 +528,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
523
528
  - !ruby/object:Gem::Version
524
529
  version: '0'
525
530
  requirements: []
526
- rubygems_version: 4.0.17
531
+ rubygems_version: 4.0.20
527
532
  specification_version: 4
528
533
  summary: Useful stuff.
529
534
  test_files:
@@ -543,6 +548,7 @@ test_files:
543
548
  - tests/dslkit_test.rb
544
549
  - tests/duration_test.rb
545
550
  - tests/dynamic_scope_test.rb
551
+ - tests/enum_squeeze_test.rb
546
552
  - tests/expose_test.rb
547
553
  - tests/extract_last_argument_options_test.rb
548
554
  - tests/file_binary_test.rb