Hello community,

here is the log from the commit of package rubygem-tins for openSUSE:Factory 
checked in at 2019-01-21 10:25:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-tins (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-tins.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-tins"

Mon Jan 21 10:25:31 2019 rev:34 rq:656370 version:1.20.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-tins/rubygem-tins.changes        
2018-03-06 10:46:16.514479158 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-tins.new.28833/rubygem-tins.changes     
2019-01-21 10:25:32.849737832 +0100
@@ -1,0 +2,6 @@
+Sat Dec  8 16:32:39 UTC 2018 - Stephan Kulow <co...@suse.com>
+
+- updated to version 1.20.2
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  tins-1.16.3.gem

New:
----
  tins-1.20.2.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-tins.spec ++++++
--- /var/tmp/diff_new_pack.69fuXP/_old  2019-01-21 10:25:33.477737141 +0100
+++ /var/tmp/diff_new_pack.69fuXP/_new  2019-01-21 10:25:33.485737133 +0100
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-tins
-Version:        1.16.3
+Version:        1.20.2
 Release:        0
 %define mod_name tins
 %define mod_full_name %{mod_name}-%{version}

++++++ tins-1.16.3.gem -> tins-1.20.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     2017-12-07 14:28:24.000000000 +0100
+++ new/.travis.yml     2018-11-14 15:47:27.000000000 +0100
@@ -2,8 +2,9 @@
   - 2.0
   - 2.1
   - 2.2
-  - 2.3.3
-  - 2.4.2
+  - 2.3
+  - 2.4
+  - 2.5
   - ruby-head
 matrix:
   allow_failures:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2017-12-07 14:28:24.000000000 +0100
+++ new/README.md       2018-11-14 15:47:27.000000000 +0100
@@ -12,6 +12,19 @@
 
 ## Changes
 
+
+* 2018-11-14 Release 1.20.2
+ - Fix ~x options
+* 2018-11-14 Release 1.20.1
+ - Add disabling boolean options in Tins::GO#go method.
+* 2018-11-14 Release 1.20.0
+ - Support default arguments in Tins::GO#go method.
+* 2018-11-07 Release 1.19.0
+ - Allow annotations without arguments
+* 2018-11-02 Release 1.18.0
+ - `thread_local` and `thread_global` with default block
+* 2018-10-15 Release 1.17.0
+ - Add Tins::TempIO::Enum class to wrap `temp_io` into Enumerator.
 * 2017-12-05 Release 1.16.3
  - Improve `temp_io` method by not changing working dir.
 * 2017-12-05 Release 1.16.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2017-12-07 14:28:24.000000000 +0100
+++ new/VERSION 2018-11-14 15:47:27.000000000 +0100
@@ -1 +1 @@
-1.16.3
+1.20.2
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/annotate.rb new/lib/tins/annotate.rb
--- old/lib/tins/annotate.rb    2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/annotate.rb    2018-11-14 15:47:27.000000000 +0100
@@ -1,7 +1,7 @@
 module Tins::Annotate
   def annotate(name)
     singleton_class.class_eval do
-      define_method(name) do |annotation|
+      define_method(name) do |annotation = :annotated|
         instance_variable_set "@__annotation_#{name}__", annotation
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/dslkit.rb new/lib/tins/dslkit.rb
--- old/lib/tins/dslkit.rb      2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/dslkit.rb      2018-11-14 15:47:27.000000000 +0100
@@ -51,9 +51,16 @@
   module ThreadGlobal
     # Define a thread global variable named _name_ in this module/class. If the
     # value _value_ is given, it is used to initialize the variable.
-    def thread_global(name, default_value = nil)
+    def thread_global(name, default_value = nil, &default)
       is_a?(Module) or raise TypeError, "receiver has to be a Module"
 
+      default_value && default and raise ArgumentError,
+        "require either default_falue or default block"
+
+      if default_value
+        default = -> * { default_value }
+      end
+
       name = name.to_s
       var_name = "@__#{name}_#{__id__.abs}__"
 
@@ -61,14 +68,18 @@
       modul = self
 
       define_method(name) do
-        lock.synchronize { modul.instance_variable_get var_name }
+        lock.synchronize {
+          if default && !modul.instance_variable_defined?(var_name)
+            modul.instance_variable_set var_name, default.call
+          end
+          modul.instance_variable_get var_name
+        }
       end
 
       define_method(name + "=") do |value|
         lock.synchronize { modul.instance_variable_set var_name, value }
       end
 
-      modul.instance_variable_set var_name, default_value if default_value
       self
     end
 
@@ -570,7 +581,6 @@
     def scope_block(scope_frame, name = :default)
       scope_push(scope_frame, name)
       yield
-      self
     ensure
       scope_pop(name)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/go.rb new/lib/tins/go.rb
--- old/lib/tins/go.rb  2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/go.rb  2018-11-14 15:47:27.000000000 +0100
@@ -20,16 +20,38 @@
     # Parses the argument array _args_, according to the pattern _s_, to
     # retrieve the single character command line options from it. If _s_ is
     # 'xy:' an option '-x' without an option argument is searched, and an
-    # option '-y foo' with an option argument ('foo').
+    # option '-y foo' with an option argument ('foo'). To disable the '-x'
+    # option, pass '~x'.
+    #
+    # The _defaults_ argument specifies default values for the options.
     #
     # An option hash is returned with all found options set to true or the
     # found option argument.
-    def go(s, args = ARGV)
+    def go(s, args = ARGV, defaults: {})
+      d = defaults || {}
       b, v = s.scan(/(.)(:?)/).inject([ {}, {} ]) { |t, (o, a)|
-        a = a == ':'
+        a = a == ?:
         t[a ? 1 : 0][o] = a ? nil : false
         t
       }
+      b.each_key do |k|
+        d.key?(k) or next
+        if [ 0, false, nil ].include?(d[k])
+          b[k] = false
+        elsif d[k].respond_to?(:to_int)
+          b[k] = d[k].to_int
+        else
+          b[k] = 1
+        end
+      end
+      v.each_key do |k|
+        d.key?(k) or next
+        if [ 0, false, nil ].include?(d[k])
+          v[k] = nil
+        else
+          v[k] = d[k].to_s
+        end
+      end
       r = []
       while a = args.shift
         /\A-(?<p>.+)/ =~ a or (r << a; next)
@@ -44,7 +66,7 @@
             else
               a = p
             end
-            if v[o].nil?
+            if v[o].nil? || !(EnumerableExtension === v[o])
               a = a.dup
               a.extend EnumerableExtension
               a << a
@@ -64,6 +86,7 @@
           end
         end && break
       end
+      r.reject! { |a| (b[p] = false) || true if /\A~(?<p>.)/ =~ a  }
       args.replace r
       b.merge(v)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/temp_io_enum.rb new/lib/tins/temp_io_enum.rb
--- old/lib/tins/temp_io_enum.rb        1970-01-01 01:00:00.000000000 +0100
+++ new/lib/tins/temp_io_enum.rb        2018-11-14 15:47:27.000000000 +0100
@@ -0,0 +1,26 @@
+require 'tins/temp_io'
+
+module Tins
+  module TempIO
+    class Enum < Enumerator
+      include Tins::TempIO
+
+      def initialize(chunk_size: 2 ** 16, filename: nil, &content_proc)
+        content_proc or raise ArgumentError, 'need a content proc as block 
argument'
+        super() do |y|
+          temp_io(name: 'some-stream', content: content_proc) do |file|
+            until file.eof?
+              y.yield file.read(chunk_size)
+            end
+          end
+        end.tap do |enum|
+          if filename
+            enum.define_singleton_method(:filename) do
+              filename
+            end
+          end
+        end
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/terminal.rb new/lib/tins/terminal.rb
--- old/lib/tins/terminal.rb    2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/terminal.rb    2018-11-14 15:47:27.000000000 +0100
@@ -21,7 +21,6 @@
       end
     end
 
-
     def rows
       winsize[0] || `stty size 2>/dev/null`.split[0].to_i.nonzero? ||
         `tput lines 2>/dev/null`.to_i.nonzero? || 25
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/thread_local.rb new/lib/tins/thread_local.rb
--- old/lib/tins/thread_local.rb        2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/thread_local.rb        2018-11-14 15:47:27.000000000 +0100
@@ -13,17 +13,27 @@
 
     # Define a thread local variable named _name_ in this module/class. If the
     # value _value_ is given, it is used to initialize the variable.
-    def thread_local(name, default_value = nil)
+    def thread_local(name, default_value = nil, &default)
       is_a?(Module) or raise TypeError, "receiver has to be a Module"
 
+      default_value && default and raise ArgumentError,
+        "require either default_falue or default block"
+
+      if default_value
+        default = -> * { default_value }
+      end
+
       name = name.to_s
       my_id = "__thread_local_#{__id__}__"
 
       ObjectSpace.define_finalizer(self, @@cleanup)
 
       define_method(name) do
-        Thread.current[my_id] ||= {}
-        Thread.current[my_id][name]
+        values = Thread.current[my_id] ||= {}
+        if default && !values.key?(name)
+          values[name] = default.call
+        end
+        values[name]
       end
 
       define_method("#{name}=") do |value|
@@ -31,20 +41,16 @@
         Thread.current[my_id][name] = value
       end
 
-      if default_value
-        Thread.current[my_id] = {}
-        Thread.current[my_id][name] = default_value
-      end
       self
     end
 
     # Define a thread local variable for the current instance with name _name_.
     # If the value _value_ is given, it is used to initialize the variable.
-    def instance_thread_local(name, value = nil)
+    def instance_thread_local(name, default_value = nil, &default)
       class << self
         extend Tins::ThreadLocal
         self
-      end.thread_local name, value
+      end.thread_local name, default_value, &default
       self
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins/version.rb new/lib/tins/version.rb
--- old/lib/tins/version.rb     2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins/version.rb     2018-11-14 15:47:27.000000000 +0100
@@ -1,6 +1,6 @@
 module Tins
   # Tins version
-  VERSION         = '1.16.3'
+  VERSION         = '1.20.2'
   VERSION_ARRAY   = VERSION.split('.').map(&:to_i) # :nodoc:
   VERSION_MAJOR   = VERSION_ARRAY[0] # :nodoc:
   VERSION_MINOR   = VERSION_ARRAY[1] # :nodoc:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tins.rb new/lib/tins.rb
--- old/lib/tins.rb     2017-12-07 14:28:24.000000000 +0100
+++ new/lib/tins.rb     2018-11-14 15:47:27.000000000 +0100
@@ -56,5 +56,6 @@
   require 'tins/unit'
   require 'tins/expose'
   require 'tins/temp_io'
+  require 'tins/temp_io_enum'
 end
 require 'tins/alias'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-12-07 14:28:24.000000000 +0100
+++ new/metadata        2018-11-14 15:47:27.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: tins
 version: !ruby/object:Gem::Version
-  version: 1.16.3
+  version: 1.20.2
 platform: ruby
 authors:
 - Florian Frank
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-12-07 00:00:00.000000000 Z
+date: 2018-11-14 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: gem_hadar
@@ -112,6 +112,7 @@
 - lib/tins/string_version.rb
 - lib/tins/subhash.rb
 - lib/tins/temp_io.rb
+- lib/tins/temp_io_enum.rb
 - lib/tins/terminal.rb
 - lib/tins/thread_local.rb
 - lib/tins/time_dummy.rb
@@ -257,6 +258,7 @@
 - lib/tins/string_version.rb
 - lib/tins/subhash.rb
 - lib/tins/temp_io.rb
+- lib/tins/temp_io_enum.rb
 - lib/tins/terminal.rb
 - lib/tins/thread_local.rb
 - lib/tins/time_dummy.rb
@@ -399,7 +401,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.7.3
+rubygems_version: 2.7.7
 signing_key: 
 specification_version: 4
 summary: Useful stuff.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/annotate_test.rb new/tests/annotate_test.rb
--- old/tests/annotate_test.rb  2017-12-07 14:28:24.000000000 +0100
+++ new/tests/annotate_test.rb  2018-11-14 15:47:27.000000000 +0100
@@ -23,6 +23,10 @@
       bar 'test bar3'
       def third
       end
+
+      foo
+      def fourth
+      end
     end
 
     def test_annotations_via_class
@@ -43,5 +47,22 @@
       assert_equal nil, a.foo_of(:third)
       assert_equal 'test bar3', a.bar_of(:third)
     end
+
+    def test_annotations_without_args
+      assert_equal :annotated, A.foo_of(:fourth)
+      a = A.new
+      assert_equal :annotated, a.foo_of(:fourth)
+    end
+
+    def test_query_methods
+      assert_equal(
+        { :first=>"test foo1", :fourth=>:annotated, :second=>"test foo2" },
+        A.foo_annotations
+      )
+      assert_equal(
+        { :first=>"test foo1", :fourth=>:annotated, :second=>"test foo2" },
+        A.new.foo_annotations
+      )
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/dslkit_test.rb new/tests/dslkit_test.rb
--- old/tests/dslkit_test.rb    2017-12-07 14:28:24.000000000 +0100
+++ new/tests/dslkit_test.rb    2018-11-14 15:47:27.000000000 +0100
@@ -9,6 +9,9 @@
   extend Tins::ThreadLocal
   thread_local :foo
 
+  extend Tins::ThreadLocal
+  thread_local :foo2 do {} end
+
   include Tins::ThreadLocal
   def make_baz
     instance_thread_local :baz
@@ -16,6 +19,8 @@
 
   extend Tins::ThreadGlobal
   thread_global :bar
+
+  thread_global :bar2 do {} end
 end
 
 class IE
@@ -122,6 +127,19 @@
     assert_equal @tl.baz, @tl2.baz
   end
 
+  def test_thread_local_with_default
+    assert_kind_of Hash, @tl.foo2
+    @tl.foo2[:hi] = 1
+    assert_equal 1, @tl.foo2[:hi]
+    thread = Thread.new do
+      assert_kind_of Hash, @tl.foo2
+      assert_nil @tl.foo2[:hi]
+      @tl.foo2[:hi] = 2
+    end
+    thread.join
+    assert_equal 1, @tl.foo2[:hi]
+  end
+
   def test_instance_thread_local
     assert_nil @tl.baz
     @tl.baz = 1
@@ -151,6 +169,18 @@
     assert_equal 2, @tl.bar
   end
 
+  def test_thread_global_with_default
+    assert_kind_of Hash, @tl.bar2
+    @tl.bar2[:hi] = 1
+    assert_equal 1, @tl.bar2[:hi]
+    thread = Thread.new do
+      assert_kind_of Hash, @tl.bar2
+      assert_equal 1, @tl.bar2[:hi]
+    end
+    thread.join
+    assert_equal 1, @tl.bar2[:hi]
+  end
+
   def test_instance_exec
     assert_equal :foo, @ie.foo
     assert_equal :foo, @ie.exec
@@ -180,7 +210,7 @@
   def test_dsl_reader
     assert_equal true, @da.on
     assert_equal false, @da.off
-    assert_raises(ArgumentError) do
+    assert_raise(ArgumentError) do
       @da.on false
     end
     assert_equal [ @da.on, @da.off ], @da.states
@@ -221,7 +251,7 @@
   def test_symbol_maker
     s = S.new
     assert_equal(:foo, s.instance_exec { foo })
-    assert_raises(NoMethodError) { s.instance_exec { foo 1 }}
+    assert_raise(NoMethodError) { s.instance_exec { foo 1 }}
   end
 
   def test_constant_maker
@@ -229,46 +259,46 @@
   end
 
   def test_deflect_block
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
     assert !D.deflect?(Integer, :foo)
     D.deflect(Integer, :foo, Tins::Deflect::Deflector.new { :foo }) do
       assert_equal :foo, 1.foo
       assert D.deflect?(Integer, :foo)
     end
     assert !D.deflect?(Integer, :foo)
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
   end
 
   def test_deflect
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
     assert !D.deflect?(Integer, :foo)
     D.deflect_start(Integer, :foo, Tins::Deflect::Deflector.new { :foo })
     assert_equal :foo, 1.foo
     assert D.deflect?(Integer, :foo)
     t = Thread.new do
       assert !D.deflect?(Integer, :foo)
-      assert_raises(NoMethodError) { 1.foo }
+      assert_raise(NoMethodError) { 1.foo }
     end
     t.join
     D.deflect_stop(Integer, :foo)
     assert !D.deflect?(Integer, :foo)
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
   end
 
   def test_deflect_method_missing
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
     assert !D.deflect?(Integer, :method_missing)
     D.deflect_start(Integer, :method_missing, Tins::Deflect::Deflector.new { 
:foo })
     assert_equal :foo, 1.foo
     assert D.deflect?(Integer, :method_missing)
     t = Thread.new do
       assert !D.deflect?(Integer, :method_missing)
-      assert_raises(NoMethodError) { 1.foo }
+      assert_raise(NoMethodError) { 1.foo }
     end
     t.join
     D.deflect_stop(Integer, :method_missing)
     assert !D.deflect?(Integer, :method_missing)
-    assert_raises(NoMethodError) { 1.foo }
+    assert_raise(NoMethodError) { 1.foo }
   end
 
   def test_delegate_d3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/find_test.rb new/tests/find_test.rb
--- old/tests/find_test.rb      2017-12-07 14:28:24.000000000 +0100
+++ new/tests/find_test.rb      2018-11-14 15:47:27.000000000 +0100
@@ -110,7 +110,7 @@
         Tins::Find::Finder.new(visit: :foo, suffix: 'bla')
       end
       finder = Tins::Find::Finder.new(visit: -> path { path.stat.file? })
-      f = File.open(fpath = File.join(@work_dir, 'foo.bar'), 'w')
+      File.new(fpath = File.join(@work_dir, 'foo.bar'), 'w').close
       mkdir_p(gpath = File.join(@work_dir, 'dir'))
       fpath = finder.prepare_path fpath
       gpath = finder.prepare_path gpath
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/go_test.rb new/tests/go_test.rb
--- old/tests/go_test.rb        2017-12-07 14:28:24.000000000 +0100
+++ new/tests/go_test.rb        2018-11-14 15:47:27.000000000 +0100
@@ -58,5 +58,23 @@
       assert_equal({ 'a' => 1, 'b' => 'hello', 'e' => nil }, r)
       assert_equal [], args
     end
+
+    def test_defaults
+      r = go('bv:', args = %w[ -v bar ], defaults: { ?b => true, ?v => 'foo' })
+      assert_equal({ ?b => 1, 'v' => 'bar' }, r)
+      assert_equal [], args
+      r = go('bv:', args = %w[ -v bar ~b baz ], defaults: { ?b => true, ?v => 
'foo' })
+      assert_equal({ ?b => false, 'v' => 'bar' }, r)
+      assert_equal %w[ baz ], args
+      r = go('bv:', args = %w[ -b -v bar ], defaults: { ?b => 22, ?v => 'foo' 
})
+      assert_equal({ ?b => 23, 'v' => 'bar' }, r)
+      assert_equal [], args
+      r = go('bv:', args = %w[ -b ], defaults: { ?b => false, ?v => 'foo' })
+      assert_equal({ ?b => 1, 'v' => 'foo' }, r)
+      assert_equal [], args
+      r = go('bv:', args = %w[ ], defaults: { ?b => false, ?v => 'foo' })
+      assert_equal({ ?b => false, 'v' => 'foo' }, r)
+      assert_equal [], args
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/memoize_test.rb new/tests/memoize_test.rb
--- old/tests/memoize_test.rb   2017-12-07 14:28:24.000000000 +0100
+++ new/tests/memoize_test.rb   2018-11-14 15:47:27.000000000 +0100
@@ -58,8 +58,8 @@
     def test_method_cache_protected
       fb1 = FooBar.new
       fb2 = FooBar.new
-      assert_raises(NoMethodError) { fb1.footsie(1, 2) }
-      assert_raises(NoMethodError) { fb2.footsie(1, 2) }
+      assert_raise(NoMethodError) { fb1.footsie(1, 2) }
+      assert_raise(NoMethodError) { fb2.footsie(1, 2) }
       assert_equal true, fb1.__memoize_cache__.empty?
       assert_equal true, fb2.__memoize_cache__.empty?
       assert_equal 1, fb1.__send__(:footsie, 1, 2)
@@ -98,8 +98,8 @@
     def test_function_cache_private
       fb1 = FooBar.new
       fb2 = FooBar.new
-      assert_raises(NoMethodError) { fb1.baz(1, 2) }
-      assert_raises(NoMethodError) { fb2.baz(1, 2) }
+      assert_raise(NoMethodError) { fb1.baz(1, 2) }
+      assert_raise(NoMethodError) { fb2.baz(1, 2) }
       assert_equal 1, fb1.__send__(:baz, 1, 2)
       assert_equal 1, fb2.__send__(:baz, 1, 2)
       assert_equal 2, fb1.__send__(:baz, 1, 2, 3)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/partial_application_test.rb 
new/tests/partial_application_test.rb
--- old/tests/partial_application_test.rb       2017-12-07 14:28:24.000000000 
+0100
+++ new/tests/partial_application_test.rb       2018-11-14 15:47:27.000000000 
+0100
@@ -18,7 +18,7 @@
       trip  = mul.partial(3)
       assert_equal [ 6, 9, 12 ], [ dup[3], trip[3], mul[4, 3] ]
       assert_equal [ 6, 9, 12 ], [ dup[3], trip[3], klon[4, 3] ]
-      assert_raises(ArgumentError) do
+      assert_raise(ArgumentError) do
         mul.partial(1, 2, 3)
       end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/temp_io_test.rb new/tests/temp_io_test.rb
--- old/tests/temp_io_test.rb   2017-12-07 14:28:24.000000000 +0100
+++ new/tests/temp_io_test.rb   2018-11-14 15:47:27.000000000 +0100
@@ -1,3 +1,5 @@
+# encoding: utf-8
+
 require 'test_helper'
 require 'tins/xt/temp_io'
 
@@ -34,5 +36,16 @@
       }
       assert_equal returned, :done
     end
+
+    def test_as_enum
+      enum = Tins::TempIO::Enum.new(chunk_size: 5, filename: 'foo') { |file|
+        assert_kind_of File, file
+        file << "hello" << "world"
+      }
+      assert_equal 'foo', enum.filename
+      assert_equal "hello", enum.next
+      assert_equal "world", enum.next
+      assert_raise(StopIteration) { enum.next }
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/token_test.rb new/tests/token_test.rb
--- old/tests/token_test.rb     2017-12-07 14:28:24.000000000 +0100
+++ new/tests/token_test.rb     2018-11-14 15:47:27.000000000 +0100
@@ -4,9 +4,9 @@
 module Tins
   class TokenTest < Test::Unit::TestCase
     def test_token_failures
-      assert_raises(ArgumentError) { Tins::Token.new(bits: 0) }
-      assert_raises(ArgumentError) { Tins::Token.new(length: 0) }
-      assert_raises(ArgumentError) { Tins::Token.new(alphabet: %w[0]) }
+      assert_raise(ArgumentError) { Tins::Token.new(bits: 0) }
+      assert_raise(ArgumentError) { Tins::Token.new(length: 0) }
+      assert_raise(ArgumentError) { Tins::Token.new(alphabet: %w[0]) }
     end
 
     def test_token_for_length
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tins.gemspec new/tins.gemspec
--- old/tins.gemspec    2017-12-07 14:28:24.000000000 +0100
+++ new/tins.gemspec    2018-11-14 15:47:27.000000000 +0100
@@ -1,25 +1,25 @@
 # -*- encoding: utf-8 -*-
-# stub: tins 1.16.3 ruby lib
+# stub: tins 1.20.2 ruby lib
 
 Gem::Specification.new do |s|
   s.name = "tins".freeze
-  s.version = "1.16.3"
+  s.version = "1.20.2"
 
   s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if 
s.respond_to? :required_rubygems_version=
   s.require_paths = ["lib".freeze]
   s.authors = ["Florian Frank".freeze]
-  s.date = "2017-12-07"
+  s.date = "2018-11-14"
   s.description = "All the stuff that isn't good/big enough for a real 
library.".freeze
   s.email = "fl...@ping.de".freeze
-  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/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/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/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]
-  s.files = [".gitignore".freeze, ".travis.yml".freeze, "COPYING".freeze, 
"Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO".freeze, 
"VERSION".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/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/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/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/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]
+  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/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/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]
+  s.files = [".gitignore".freeze, ".travis.yml".freeze, "COPYING".freeze, 
"Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO".freeze, 
"VERSION".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/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/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/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]
   s.homepage = "https://github.com/flori/tins".freeze
   s.licenses = ["MIT".freeze]
   s.rdoc_options = ["--title".freeze, "Tins - Useful stuff.".freeze, 
"--main".freeze, "README.md".freeze]
   s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
-  s.rubygems_version = "2.7.3".freeze
+  s.rubygems_version = "2.7.7".freeze
   s.summary = "Useful stuff.".freeze
-  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/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/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]
+  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/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/if_predicate_test.rb".freeze, "tests/string_camelize_test.rb".freeze, 
"tests/case_predicate_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, 
"tests/hash_union_test.rb".freeze, "tests/date_dummy_test.rb".freeze, 
"tests/string_byte_order_mark_test.rb".freeze, "tests/deep_dup_test.rb".freeze, 
"tests/generator_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, 
"tests/hash_symbolize_keys_recursive_test.rb".freeze, 
"tests/memoize_test.rb".freeze, "tests/find_test.rb".freeze, 
"tests/extract_last_argument_options_test.rb".freeze, 
"tests/null_test.rb".freeze, "tests/temp_io_test.rb".freeze, 
"tests/proc_prelude_test.rb".freeze, "tests/token_test.rb".freeze, 
"tests/bijection_test.rb".freeze, "tests/p_test.rb".freeze, 
"tests/dynamic_scope_test.rb".freeze, "tests/lines_file_test.rb".freeze, 
"tests/count_by_test.rb".freeze, "tests/responding_test.rb".freeze, 
"tests/time_freezer_test.rb".freeze, "tests/attempt_test.rb".freeze, 
"tests/concern_test.rb".freeze, "tests/implement_test.rb".freeze, 
"tests/dslkit_test.rb".freeze, "tests/range_plus_test.rb".freeze, 
"tests/deep_const_get_test.rb".freeze, "tests/named_set_test.rb".freeze, 
"tests/proc_compose_test.rb".freeze, "tests/minimize_test.rb".freeze, 
"tests/subhash_test.rb".freeze, "tests/delegate_test.rb".freeze, 
"tests/time_dummy_test.rb".freeze, "tests/limited_test.rb".freeze, 
"tests/duration_test.rb".freeze, "tests/method_description_test.rb".freeze, 
"tests/to_test.rb".freeze, "tests/file_binary_test.rb".freeze, 
"tests/partial_application_test.rb".freeze, 
"tests/date_time_dummy_test.rb".freeze, "tests/expose_test.rb".freeze, 
"tests/rotate_test.rb".freeze, "tests/module_group_test.rb".freeze, 
"tests/unit_test.rb".freeze, "tests/string_underscore_test.rb".freeze, 
"tests/named_test.rb".freeze, "tests/from_module_test.rb".freeze, 
"tests/string_version_test.rb".freeze, "tests/require_maybe_test.rb".freeze, 
"tests/uniq_by_test.rb".freeze, "tests/secure_write_test.rb".freeze, 
"tests/blank_full_test.rb".freeze, "tests/scope_test.rb".freeze, 
"tests/annotate_test.rb".freeze, "tests/go_test.rb".freeze]
 
   if s.respond_to? :specification_version then
     s.specification_version = 4


Reply via email to