tins 1.16.1 → 1.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/VERSION +1 -1
- data/lib/tins/temp_io.rb +17 -12
- data/lib/tins/version.rb +1 -1
- data/tests/temp_io_test.rb +11 -3
- data/tins.gemspec +3 -3
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 36c465f9a5d326907810bf93d1b541bf1fb6ac40f0087f23ed6de360fca8242b
         | 
| 4 | 
            +
              data.tar.gz: 20fb5ad144f13384388349325312343455dcb6a2cf0be1a38895ba10b034dd01
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8e4d7b8da9cbbacc3b1df6d90967938a14508f01660343a2dd4e6e6d49296e25c580b06fa234ee8b14a25de8c6495275f846cf75144660f80afde5bbb16cb034
         | 
| 7 | 
            +
              data.tar.gz: 14416877896a3c2f9f4361639f5f8a9cfa2354912e5426119a2f7a7b7c1313ac4a6395e67f69bbbaff6eea96d753943d41b2e438c82180f8d523b4a1aabe9ea6
         | 
    
        data/README.md
    CHANGED
    
    
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.16. | 
| 1 | 
            +
            1.16.2
         | 
    
        data/lib/tins/temp_io.rb
    CHANGED
    
    | @@ -1,20 +1,25 @@ | |
| 1 | 
            -
            require ' | 
| 1 | 
            +
            require 'tmpdir'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Tins
         | 
| 4 4 | 
             
              module TempIO
         | 
| 5 | 
            -
                def temp_io(content  | 
| 6 | 
            -
                   | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 5 | 
            +
                def temp_io(content:, name: __method__)
         | 
| 6 | 
            +
                  name = File.basename(name.to_s)
         | 
| 7 | 
            +
                  Dir.mktmpdir do |dir|
         | 
| 8 | 
            +
                    Dir.chdir(dir) do
         | 
| 9 | 
            +
                      File.open(name, 'w+b') do |io|
         | 
| 10 | 
            +
                        if content.respond_to?(:call)
         | 
| 11 | 
            +
                          if content.respond_to?(:arity) && content.arity == 1
         | 
| 12 | 
            +
                            content.call(io)
         | 
| 13 | 
            +
                          else
         | 
| 14 | 
            +
                            io.write content.call
         | 
| 15 | 
            +
                          end
         | 
| 16 | 
            +
                        else
         | 
| 17 | 
            +
                          io.write content
         | 
| 18 | 
            +
                        end
         | 
| 19 | 
            +
                        io.rewind
         | 
| 20 | 
            +
                        yield io
         | 
| 12 21 | 
             
                      end
         | 
| 13 | 
            -
                    else
         | 
| 14 | 
            -
                      io.write content
         | 
| 15 22 | 
             
                    end
         | 
| 16 | 
            -
                    io.rewind
         | 
| 17 | 
            -
                    yield io
         | 
| 18 23 | 
             
                  end
         | 
| 19 24 | 
             
                end
         | 
| 20 25 | 
             
              end
         | 
    
        data/lib/tins/version.rb
    CHANGED
    
    
    
        data/tests/temp_io_test.rb
    CHANGED
    
    | @@ -4,15 +4,23 @@ require 'tins/xt/temp_io' | |
| 4 4 | 
             
            module Tins
         | 
| 5 5 | 
             
              class TempIOTest < Test::Unit::TestCase
         | 
| 6 6 | 
             
                def test_with_string
         | 
| 7 | 
            -
                  returned = temp_io('foo') { |io|
         | 
| 7 | 
            +
                  returned = temp_io(content: 'foo') { |io|
         | 
| 8 8 | 
             
                    assert_equal 'foo', io.read
         | 
| 9 9 | 
             
                    :done
         | 
| 10 10 | 
             
                  }
         | 
| 11 11 | 
             
                  assert_equal returned, :done
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 | 
            +
                def test_with_suffixed_name
         | 
| 15 | 
            +
                  returned = temp_io(content: 'foo', name: 'foo.csv') { |io|
         | 
| 16 | 
            +
                    assert_true io.path.end_with?('foo.csv')
         | 
| 17 | 
            +
                    :done
         | 
| 18 | 
            +
                  }
         | 
| 19 | 
            +
                  assert_equal returned, :done
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 14 22 | 
             
                def test_with_proc
         | 
| 15 | 
            -
                  returned = temp_io(-> { 'foo' }) { |io|
         | 
| 23 | 
            +
                  returned = temp_io(content: -> { 'foo' }) { |io|
         | 
| 16 24 | 
             
                    assert_equal 'foo', io.read
         | 
| 17 25 | 
             
                    :done
         | 
| 18 26 | 
             
                  }
         | 
| @@ -20,7 +28,7 @@ module Tins | |
| 20 28 | 
             
                end
         | 
| 21 29 |  | 
| 22 30 | 
             
                def test_with_proc_and_io_arg
         | 
| 23 | 
            -
                  returned = temp_io(-> io { io << 'foo' }) { |io|
         | 
| 31 | 
            +
                  returned = temp_io(content: -> io { io << 'foo' }) { |io|
         | 
| 24 32 | 
             
                    assert_equal 'foo', io.read
         | 
| 25 33 | 
             
                    :done
         | 
| 26 34 | 
             
                  }
         | 
    
        data/tins.gemspec
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            -
            # stub: tins 1.16. | 
| 2 | 
            +
            # stub: tins 1.16.2 ruby lib
         | 
| 3 3 |  | 
| 4 4 | 
             
            Gem::Specification.new do |s|
         | 
| 5 5 | 
             
              s.name = "tins".freeze
         | 
| 6 | 
            -
              s.version = "1.16. | 
| 6 | 
            +
              s.version = "1.16.2"
         | 
| 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 = "2017-12- | 
| 11 | 
            +
              s.date = "2017-12-06"
         | 
| 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 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/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]
         | 
    
        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.16. | 
| 4 | 
            +
              version: 1.16.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Florian Frank
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-12- | 
| 11 | 
            +
            date: 2017-12-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: gem_hadar
         |