tins 1.32.1 → 1.34.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8ddaf2f0c1167a939e82f81678dcad1415c446295b71be5b9f103ed7d3119c9
4
- data.tar.gz: 6e0609afd1eaee465c64a5ea65911f7f09b15b166cb5bfa8e85cf1a7f71446b9
3
+ metadata.gz: 64b9750c89e00b6ff170e1c0d1c902c906124a91850480e9a865762757a08810
4
+ data.tar.gz: 3a1386ca23db5ef4ba40cd65b4888dd6c201e1e0b4f515af426e8a81e92af112
5
5
  SHA512:
6
- metadata.gz: 3edf583d1f22b556058cad481d9bb78710394b3869fbb118321a31213124534449d1ea507f8a00d264ea7e029226673e062bc07544d445ccd044bb8643cbdbf3
7
- data.tar.gz: bd04720c57cbec746b212354767d166ae38eb22824635be747a9a0708af71b82078a1b832552c0f7425827234c49178357e914ac36365a8f6ece1cd91ab88700
6
+ metadata.gz: a9fa8bfb05c6969a1b8f4d1974efd395953555bde88b14daf2ca119d9aa86f820c181fdc9a202566b8549ad2e487fafca7ea244cd4cb2ad032aca49f7247e1b9
7
+ data.tar.gz: b7797aa3d3763c64058a8aeeddf20e97d4bff4e1274b9b82446114118207764e7e7ff6e82d90afd7535d58323e3048e6c15cc556ecd9e6ceaea6539d15d9213c
data/CHANGES.md ADDED
@@ -0,0 +1,55 @@
1
+ # Changes
2
+
3
+ ## 2024-09-30 v1.34.0
4
+
5
+ ### Changes in **1.34.0**
6
+
7
+ * **Secure write functionality updated**
8
+ + Added support for `Pathname` objects in `secure_write`
9
+ + Updated `File.new` call to use `to_s` method on filename
10
+ + New test case added for `secure_write` with `Pathname` object
11
+ * **Refactor version comparisons in various modules**
12
+ + Added `Tins::StringVersion.compare` method to compare Ruby versions with operators.
13
+ + Replaced direct version comparisons with `compare` method in multiple modules.
14
+ * **Deprecate deep_const_get and const_defined_in? methods**
15
+ + Add deprecation notice for `const_defined_in?` for ruby >= 1.8
16
+ + Add deprecation notice for `deep_const_get` method with a new method name `const_get` for ruby >= 2.0
17
+ * **Refactor deprecation logic and tests**
18
+ + Update `Tins::Deprecate#deprecate` method to allow for optional `new_method` parameter.
19
+ + Modify `tests/deprecate_test.rb` to test deprecated methods with and without messages.
20
+ * **Prepare count_by method for deprecation**
21
+ + Suggest using `count` with block instead in newer Rubies
22
+ * **Prepare uniq_by / uniq_by! method for deprecation**
23
+ + Suggest using `uniq` / `uniq!` with block instead in newer Rubies
24
+
25
+ ## 2024-04-17 v1.33.0
26
+
27
+ * **Changes for Ruby 3.3 and 3.4**
28
+ + Added support for Ruby **3.3**
29
+ + Added dependency on `bigdecimal` for upcoming Ruby **3.4**
30
+ * **Other Changes**
31
+ + Halting once is enough
32
+ + Added ruby **3.2**, removed some older ones
33
+ + Added test process convenience method
34
+
35
+ ## 2022-11-21 v1.32.1
36
+
37
+ * Removed mutex for finalizer, allowing Ruby to handle cleanup instead.
38
+ * Significant changes:
39
+ + Removed `mutex` variable
40
+ + Updated code to rely on Ruby's built-in finalization mechanism
41
+
42
+ ## 2022-11-17 v1.32.0
43
+
44
+ * **attempt** method now supports passing of previously caught exception into
45
+ the called block to let the handling behaviour depend on it.
46
+ * Some smaller changes to make debugging on multiple Ruby releases, easier via
47
+ all_images.
48
+ * Enable fast failing mode
49
+ * Add convenience method to create `Tins::StringVersion` objects.
50
+ * Pass previous exception to attempt block ...
51
+ ... to allow reacting to it, logging it etc.
52
+ * Remove additional groups
53
+ * Use debug instead of byebug for development
54
+ * Ignore more hidden files in the package
55
+ * Update Ruby version to **3.1**
data/Rakefile CHANGED
@@ -14,18 +14,17 @@ GemHadar do
14
14
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', 'coverage', '.rbx',
15
15
  '.AppleDouble', '.DS_Store', 'tags', '.bundle', '.byebug_history'
16
16
  package_ignore '.all_images.yml', '.tool-versions', '.gitignore', 'VERSION',
17
- '.utilsrc', '.rspec', 'TODO',
18
- *Dir.glob('.github/**/*', File::FNM_DOTMATCH)
17
+ '.utilsrc', 'TODO', *Dir.glob('.github/**/*', File::FNM_DOTMATCH)
19
18
 
20
19
  readme 'README.md'
21
20
  licenses << 'MIT'
22
21
 
23
22
  required_ruby_version '>= 2.0'
24
- development_dependency 'utils'
25
23
  development_dependency 'all_images'
26
24
  development_dependency 'debug'
27
25
  development_dependency 'term-ansicolor'
28
26
  development_dependency 'test-unit', '~>3.1'
29
27
  development_dependency 'simplecov'
30
28
  dependency 'sync'
29
+ dependency 'bigdecimal'
31
30
  end
@@ -22,4 +22,3 @@
22
22
  18. right goto: 19
23
23
  19. cond if: '1', then: 18, else: 21
24
24
  20. halt
25
- 21. halt
data/lib/tins/count_by.rb CHANGED
@@ -1,8 +1,21 @@
1
+ require 'tins/string_version'
2
+
1
3
  module Tins
2
4
  module CountBy
3
- def count_by(&b)
4
- b ||= lambda { |x| true }
5
- inject(0) { |s, e| s += 1 if b[e]; s }
5
+ if Tins::StringVersion.compare(RUBY_VERSION, :<=, "1.8")
6
+ def count_by(&block)
7
+ block ||= lambda { |x| true }
8
+ inject(0) { |s, e| s += 1 if block.call(e); s }
9
+ end
10
+ else
11
+ require 'tins/deprecate'
12
+ extend Tins::Deprecate
13
+
14
+ deprecate method:
15
+ def count_by(&block)
16
+ count(&block)
17
+ end,
18
+ new_method: :count
6
19
  end
7
20
  end
8
21
  end
@@ -1,45 +1,59 @@
1
+ require 'tins/string_version'
2
+
1
3
  module Tins
2
4
  module DeepConstGet
3
- if ::Object.method(:const_defined?).arity == 1
4
- # :nocov:
5
- # We do not create coverage on 1.8
6
- def self.const_defined_in?(modul, constant)
7
- modul.const_defined?(constant)
8
- end
9
- # :nocov:
10
- else
11
- def self.const_defined_in?(modul, constant)
12
- modul.const_defined?(constant, false)
5
+ class << self
6
+ if ::Object.method(:const_defined?).arity == 1
7
+ # :nocov:
8
+ # We do not create coverage on 1.8
9
+ def const_defined_in?(modul, constant)
10
+ modul.const_defined?(constant)
11
+ end
12
+ # :nocov:
13
+ else
14
+ require 'tins/deprecate'
15
+ extend Tins::Deprecate
16
+
17
+ deprecate method:
18
+ def const_defined_in?(modul, constant)
19
+ modul.const_defined?(constant, false)
20
+ end,
21
+ new_method: :const_defined?
13
22
  end
14
- end
15
23
 
16
- if Tins::StringVersion(RUBY_VERSION) < Tins::StringVersion('2.0')
17
- def self.deep_const_get(path, start_module = Object)
18
- path.to_s.split('::').inject(start_module) do |p, c|
19
- case
20
- when c.empty?
21
- if start_module == Object
22
- Object
24
+ if Tins::StringVersion.compare(RUBY_VERSION, :<, '2.0')
25
+ def deep_const_get(path, start_module = Object)
26
+ path.to_s.split('::').inject(start_module) do |p, c|
27
+ case
28
+ when c.empty?
29
+ if start_module == Object
30
+ Object
31
+ else
32
+ raise ArgumentError, "top level constants cannot be reached from"\
33
+ " start module #{start_module.inspect}"
34
+ end
35
+ when const_defined_in?(p, c)
36
+ p.const_get(c)
23
37
  else
24
- raise ArgumentError, "top level constants cannot be reached from"\
25
- " start module #{start_module.inspect}"
26
- end
27
- when const_defined_in?(p, c)
28
- p.const_get(c)
29
- else
30
- begin
31
- p.const_missing(c)
32
- rescue NameError => e
33
- raise ArgumentError, "can't get const #{path}: #{e}"
38
+ begin
39
+ p.const_missing(c)
40
+ rescue NameError => e
41
+ raise ArgumentError, "can't get const #{path}: #{e}"
42
+ end
34
43
  end
35
44
  end
36
45
  end
37
- end
38
- else
39
- def self.deep_const_get(path, start_module = Object)
40
- start_module.const_get(path)
41
- rescue NameError => e
42
- raise ArgumentError, "can't get const #{path}: #{e}"
46
+ else
47
+ require 'tins/deprecate'
48
+ extend Tins::Deprecate
49
+
50
+ deprecate method:
51
+ def deep_const_get(path, start_module = Object)
52
+ start_module.const_get(path)
53
+ rescue NameError => e
54
+ raise ArgumentError, "can't get const #{path}: #{e}"
55
+ end,
56
+ new_method: :const_get
43
57
  end
44
58
  end
45
59
 
@@ -0,0 +1,15 @@
1
+ module Tins
2
+ module Deprecate
3
+ def deprecate(method:, new_method: nil, message: nil)
4
+ message ||= '[DEPRECATION] `%{method}` is deprecated. Please use `%{new_method}` instead.'
5
+ message = message % { method: method, new_method: new_method }
6
+ m = Module.new do
7
+ define_method(method) do |*a, **kw, &b|
8
+ warn message
9
+ super(*a, **kw, &b)
10
+ end
11
+ end
12
+ prepend m
13
+ end
14
+ end
15
+ end
data/lib/tins/duration.rb CHANGED
@@ -2,6 +2,48 @@ module Tins
2
2
  class Duration
3
3
  include Comparable
4
4
 
5
+ # Returns the number of seconds represented by the given duration string
6
+ # according to the provided template format.
7
+ #
8
+ # @param [String] string The duration string to parse.
9
+ # @param [String] template for the duration format, see {#format}.
10
+ #
11
+ # @return [Integer, Float] The number of (fractional) seconds of the duration.
12
+ #
13
+ # @example
14
+ # Tins::Duration.parse('6+05:04:03', template: '%S%d+%h:%m:%s') # => 536643
15
+ # Tins::Duration.parse('6+05:04:03.21', template: '%S%d+%h:%m:%s.%f') # => 536643.21
16
+ def self.parse(string, template: '%S%d+%h:%m:%s.%f')
17
+ s, t = string.to_s.dup, template.dup
18
+ d, sd = 0, 1
19
+ loop do
20
+ t.sub!(/\A(%[Sdhmsf%]|.)/) { |directive|
21
+ case directive
22
+ when '%S' then s.sub!(/\A-?/) { sd *= -1 if _1 == ?-; '' }
23
+ when '%d' then s.sub!(/\A\d+/) { d += 86_400 * _1.to_i; '' }
24
+ when '%h' then s.sub!(/\A\d+/) { d += 3_600 * _1.to_i; '' }
25
+ when '%m' then s.sub!(/\A\d+/) { d += 60 * _1.to_i; '' }
26
+ when '%s' then s.sub!(/\A\d+/) { d += _1.to_i; '' }
27
+ when '%f' then s.sub!(/\A\d+/) { d += Float(?. + _1); '' }
28
+ when '%%' then
29
+ if s[0] == ?%
30
+ s[0] = ''
31
+ else
32
+ raise "expected %s, got #{s.inspect}"
33
+ end
34
+ else
35
+ if directive == s[0]
36
+ s[0] = ''
37
+ else
38
+ raise ArgumentError, "expected #{t.inspect}, got #{s.inspect}"
39
+ end
40
+ end
41
+ ''
42
+ } or break
43
+ end
44
+ sd * d
45
+ end
46
+
5
47
  def initialize(seconds)
6
48
  @negative = seconds < 0
7
49
  seconds = seconds.abs
@@ -2,7 +2,7 @@ module Tins
2
2
  module SecureWrite
3
3
  # Write to a file atomically
4
4
  def secure_write(filename, content = nil, mode = 'w')
5
- temp = File.new(filename + ".tmp.#$$.#{Time.now.to_f}", mode)
5
+ temp = File.new(filename.to_s + ".tmp.#$$.#{Time.now.to_f}", mode)
6
6
  if content.nil? and block_given?
7
7
  yield temp
8
8
  elsif !content.nil?
@@ -1,3 +1,4 @@
1
+ require 'tins/string_version'
1
2
  require 'singleton'
2
3
 
3
4
  module Tins
@@ -12,7 +13,7 @@ module Tins
12
13
  class << SexySingleton
13
14
  alias __old_singleton_included__ included
14
15
 
15
- if RUBY_VERSION < "2.7"
16
+ if Tins::StringVersion.compare(RUBY_VERSION, :<, "2.7")
16
17
  def included(klass)
17
18
  __old_singleton_included__(klass)
18
19
  (class << klass; self; end).class_eval do
@@ -98,6 +98,10 @@ module Tins
98
98
  def version
99
99
  Version.new(self)
100
100
  end
101
+
102
+ def self.compare(version1, operator, version2)
103
+ Version.new(version1).send(operator, Version.new(version2))
104
+ end
101
105
  end
102
106
 
103
107
  def self.StringVersion(string)
data/lib/tins/terminal.rb CHANGED
@@ -10,9 +10,9 @@ module Tins
10
10
 
11
11
  def winsize
12
12
  if IO.respond_to?(:console)
13
- console = IO.console
14
- if console.respond_to?(:winsize)
15
- console.winsize
13
+ c = IO.console
14
+ if c.respond_to?(:winsize)
15
+ c.winsize
16
16
  else
17
17
  []
18
18
  end
@@ -1,3 +1,4 @@
1
+ require 'tins/string_version'
1
2
  require 'time'
2
3
 
3
4
  module Tins
@@ -35,7 +36,7 @@ module Tins
35
36
  end
36
37
  end
37
38
 
38
- if RUBY_VERSION >= "3.0"
39
+ if Tins::StringVersion.compare(RUBY_VERSION, :>=, "3.0")
39
40
  def new(*a, **kw)
40
41
  if dummy
41
42
  dummy.dup
@@ -15,7 +15,7 @@ class TimedCache
15
15
  @jitter = jitter
16
16
  block or raise ArgumentError, 'block is required'
17
17
  @block = block
18
- @redis = Redis.new # RedisPool::Pool.connection(:timed_cache, configuration: :redis)
18
+ @redis = Redis.new
19
19
  end
20
20
 
21
21
  def namespaced(key)
data/lib/tins/uniq_by.rb CHANGED
@@ -1,8 +1,21 @@
1
+ require 'tins/string_version'
2
+
1
3
  module Tins
2
4
  module UniqBy
3
- def uniq_by(&b)
4
- b ||= lambda { |x| x }
5
- inject({}) { |h, e| h[b[e]] ||= e; h }.values
5
+ if Tins::StringVersion.compare(RUBY_VERSION, :<=, "1.8")
6
+ def uniq_by(&block)
7
+ block ||= lambda { |x| x }
8
+ inject({}) { |h, e| h[ block.call(e) ] ||= e; h }.values
9
+ end
10
+ else
11
+ require 'tins/deprecate'
12
+ extend Tins::Deprecate
13
+
14
+ deprecate method:
15
+ def uniq_by(&block)
16
+ uniq(&block)
17
+ end,
18
+ new_method: :uniq
6
19
  end
7
20
  end
8
21
  end
data/lib/tins/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.32.1'
3
+ VERSION = '1.34.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:
@@ -4,8 +4,4 @@ module Tins
4
4
  module ::Enumerable
5
5
  include CountBy
6
6
  end
7
-
8
- class ::Array
9
- include CountBy
10
- end
11
7
  end
@@ -0,0 +1,5 @@
1
+ require 'tins/deprecate'
2
+
3
+ class Module
4
+ include Tins::Deprecate
5
+ end
@@ -1,3 +1,4 @@
1
+ require 'tins/string_version'
1
2
  require 'tins/uniq_by'
2
3
 
3
4
  module Tins
@@ -6,10 +7,19 @@ module Tins
6
7
  end
7
8
 
8
9
  class ::Array
9
- include UniqBy
10
+ if Tins::StringVersion.compare(RUBY_VERSION, :<=, "1.8")
11
+ include UniqBy
12
+
13
+ def uniq_by!(&b)
14
+ replace uniq_by(&b)
15
+ end
16
+ else
17
+ require 'tins/deprecate'
18
+ extend Tins::Deprecate
10
19
 
11
- def uniq_by!(&b)
12
- replace uniq_by(&b)
20
+ deprecate method:
21
+ alias_method(:uniq_by!, :uniq!),
22
+ new_method: :uniq!
13
23
  end
14
24
  end
15
25
  end
data/lib/tins/xt.rb CHANGED
@@ -42,4 +42,5 @@ module Tins
42
42
  require 'tins/xt/complete'
43
43
  require 'tins/xt/expose'
44
44
  require 'tins/xt/temp_io'
45
+ require 'tins/xt/deprecate'
45
46
  end
data/lib/tins.rb CHANGED
@@ -58,5 +58,6 @@ module Tins
58
58
  require 'tins/temp_io'
59
59
  require 'tins/temp_io_enum'
60
60
  require 'tins/lru_cache'
61
+ require 'tins/deprecate'
61
62
  end
62
63
  require 'tins/alias'
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+ require 'tins'
3
+
4
+ module Tins
5
+ class DeprecateTest < Test::Unit::TestCase
6
+ class A < Array
7
+ attr_reader :warned
8
+
9
+ def warn(message)
10
+ @warned = message if message =~ /DEPRECATION/
11
+ end
12
+
13
+ extend Tins::Deprecate
14
+ deprecate method:
15
+ def zum_felde
16
+ to_a
17
+ end,
18
+ new_method: :to_a
19
+
20
+ extend Tins::Deprecate
21
+ deprecate method:
22
+ def zum_vektor
23
+ to_a
24
+ end,
25
+ message: '[DEPRECATION] method `%{method}` is obsolete.'
26
+ end
27
+
28
+ def test_deprecate
29
+ a = A[ 1, 2 ]
30
+ assert_nil a.warned
31
+ assert_equal [ 1, 2 ], a.zum_felde
32
+ assert_match(/zum_felde` is deprecated/, a.warned)
33
+ end
34
+
35
+ def test_deprecate_with_message
36
+ a = A[ 1, 2 ]
37
+ assert_nil a.warned
38
+ assert_equal [ 1, 2 ], a.zum_vektor
39
+ assert_match(/zum_vektor` is obsolete/, a.warned)
40
+ end
41
+ end
42
+ end
@@ -76,6 +76,24 @@ module Tins
76
76
  assert_true duration.negative?
77
77
  assert_false Tins::Duration.new(42).negative?
78
78
  end
79
+
80
+ def test_parse_roundtrip
81
+ duration_string = '6+05:04:03.210'
82
+ seconds = Tins::Duration.parse(duration_string)
83
+ assert_equal duration_string, Tins::Duration.new(seconds).to_s
84
+ end
85
+
86
+ def test_parse_duration_instance
87
+ duration_string = '6+05:04:03.210'
88
+ duration = Tins::Duration.new(536643.21)
89
+ seconds = Tins::Duration.parse(duration)
90
+ assert_equal duration_string, Tins::Duration.new(seconds).to_s
91
+ end
92
+
93
+ def test_parse_percentage
94
+ duration_string = '1%2'
95
+ seconds = Tins::Duration.parse(duration_string, template: '%h%%%m')
96
+ assert_equal seconds, 3720
97
+ end
79
98
  end
80
99
  end
81
-
@@ -18,5 +18,21 @@ module Tins
18
18
  assert_equal 5, count.keys.uniq.size
19
19
  assert_equal 5, limited.wait.size
20
20
  end
21
+
22
+ def test_process
23
+ count = {}
24
+ Tins::Limited.new(5).process do |limited|
25
+ 5.times do
26
+ limited.execute do
27
+ count[Thread.current] = true
28
+ sleep 1
29
+ end
30
+ end
31
+ until count.size >= 5
32
+ sleep 0.1
33
+ end
34
+ assert_equal 5, count.keys.uniq.size
35
+ end
36
+ end
21
37
  end
22
38
  end
@@ -1,5 +1,6 @@
1
1
  require 'test_helper'
2
2
  require 'tempfile'
3
+ require 'pathname'
3
4
  require 'tins'
4
5
 
5
6
  module Tins
@@ -15,6 +16,11 @@ module Tins
15
16
  assert_raise(ArgumentError) { A.secure_write }
16
17
  end
17
18
 
19
+ def test_secure_write_with_pathname
20
+ assert_equal 4, A.secure_write(fn = Pathname.new(Dir.tmpdir).join("A_file.#$$"), 'test')
21
+ assert_equal 'test', File.read(fn)
22
+ end
23
+
18
24
  module B
19
25
  extend Write
20
26
  end
data/tests/test_helper.rb CHANGED
@@ -5,7 +5,7 @@ if ENV['START_SIMPLECOV'].to_i == 1
5
5
  end
6
6
  end
7
7
  begin
8
- require 'byebug'
8
+ require 'debug'
9
9
  rescue LoadError
10
10
  end
11
11
  require 'test/unit'
data/tins.gemspec CHANGED
@@ -1,47 +1,34 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.32.1 ruby lib
2
+ # stub: tins 1.34.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.32.1"
6
+ s.version = "1.34.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 = "2022-11-21"
11
+ s.date = "2024-09-30"
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/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/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_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/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_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]
15
- s.files = ["COPYING".freeze, "Gemfile".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/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/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_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/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_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, "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/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_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, "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/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_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_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]
15
+ s.files = ["CHANGES.md".freeze, "COPYING".freeze, "Gemfile".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/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_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_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, "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_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, "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(">= 2.0".freeze)
20
- s.rubygems_version = "3.3.17".freeze
20
+ s.rubygems_version = "3.5.18".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/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/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_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/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_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]
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_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_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
 
24
- if s.respond_to? :specification_version then
25
- s.specification_version = 4
26
- end
24
+ s.specification_version = 4
27
25
 
28
- if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
- s.add_development_dependency(%q<utils>.freeze, [">= 0"])
31
- s.add_development_dependency(%q<all_images>.freeze, [">= 0"])
32
- s.add_development_dependency(%q<debug>.freeze, [">= 0"])
33
- s.add_development_dependency(%q<term-ansicolor>.freeze, [">= 0"])
34
- s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.1"])
35
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
36
- s.add_runtime_dependency(%q<sync>.freeze, [">= 0"])
37
- else
38
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
39
- s.add_dependency(%q<utils>.freeze, [">= 0"])
40
- s.add_dependency(%q<all_images>.freeze, [">= 0"])
41
- s.add_dependency(%q<debug>.freeze, [">= 0"])
42
- s.add_dependency(%q<term-ansicolor>.freeze, [">= 0"])
43
- s.add_dependency(%q<test-unit>.freeze, ["~> 3.1"])
44
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
45
- s.add_dependency(%q<sync>.freeze, [">= 0"])
46
- end
26
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.18.0".freeze])
27
+ s.add_development_dependency(%q<all_images>.freeze, [">= 0".freeze])
28
+ s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
29
+ s.add_development_dependency(%q<term-ansicolor>.freeze, [">= 0".freeze])
30
+ s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.1".freeze])
31
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
32
+ s.add_runtime_dependency(%q<sync>.freeze, [">= 0".freeze])
33
+ s.add_runtime_dependency(%q<bigdecimal>.freeze, [">= 0".freeze])
47
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tins
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.1
4
+ version: 1.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-21 00:00:00.000000000 Z
11
+ date: 2024-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.0
19
+ version: 1.18.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.12.0
27
- - !ruby/object:Gem::Dependency
28
- name: utils
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 1.18.0
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: all_images
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +108,20 @@ dependencies:
122
108
  - - ">="
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: bigdecimal
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
125
  description: All the stuff that isn't good/big enough for a real library.
126
126
  email: flori@ping.de
127
127
  executables: []
@@ -146,6 +146,7 @@ extra_rdoc_files:
146
146
  - lib/tins/date_time_dummy.rb
147
147
  - lib/tins/deep_const_get.rb
148
148
  - lib/tins/deep_dup.rb
149
+ - lib/tins/deprecate.rb
149
150
  - lib/tins/dslkit.rb
150
151
  - lib/tins/duration.rb
151
152
  - lib/tins/expose.rb
@@ -208,6 +209,7 @@ extra_rdoc_files:
208
209
  - lib/tins/xt/date_time_dummy.rb
209
210
  - lib/tins/xt/deep_const_get.rb
210
211
  - lib/tins/xt/deep_dup.rb
212
+ - lib/tins/xt/deprecate.rb
211
213
  - lib/tins/xt/dslkit.rb
212
214
  - lib/tins/xt/expose.rb
213
215
  - lib/tins/xt/extract_last_argument_options.rb
@@ -243,6 +245,7 @@ extra_rdoc_files:
243
245
  - lib/tins/xt/uniq_by.rb
244
246
  - lib/tins/xt/write.rb
245
247
  files:
248
+ - CHANGES.md
246
249
  - COPYING
247
250
  - Gemfile
248
251
  - README.md
@@ -290,6 +293,7 @@ files:
290
293
  - lib/tins/date_time_dummy.rb
291
294
  - lib/tins/deep_const_get.rb
292
295
  - lib/tins/deep_dup.rb
296
+ - lib/tins/deprecate.rb
293
297
  - lib/tins/dslkit.rb
294
298
  - lib/tins/duration.rb
295
299
  - lib/tins/expose.rb
@@ -352,6 +356,7 @@ files:
352
356
  - lib/tins/xt/date_time_dummy.rb
353
357
  - lib/tins/xt/deep_const_get.rb
354
358
  - lib/tins/xt/deep_dup.rb
359
+ - lib/tins/xt/deprecate.rb
355
360
  - lib/tins/xt/dslkit.rb
356
361
  - lib/tins/xt/expose.rb
357
362
  - lib/tins/xt/extract_last_argument_options.rb
@@ -399,6 +404,7 @@ files:
399
404
  - tests/deep_const_get_test.rb
400
405
  - tests/deep_dup_test.rb
401
406
  - tests/delegate_test.rb
407
+ - tests/deprecate_test.rb
402
408
  - tests/dslkit_test.rb
403
409
  - tests/duration_test.rb
404
410
  - tests/dynamic_scope_test.rb
@@ -471,7 +477,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
471
477
  - !ruby/object:Gem::Version
472
478
  version: '0'
473
479
  requirements: []
474
- rubygems_version: 3.3.17
480
+ rubygems_version: 3.5.18
475
481
  signing_key:
476
482
  specification_version: 4
477
483
  summary: Useful stuff.
@@ -489,6 +495,7 @@ test_files:
489
495
  - tests/deep_const_get_test.rb
490
496
  - tests/deep_dup_test.rb
491
497
  - tests/delegate_test.rb
498
+ - tests/deprecate_test.rb
492
499
  - tests/dslkit_test.rb
493
500
  - tests/duration_test.rb
494
501
  - tests/dynamic_scope_test.rb