indented_io 0.8.3 → 0.8.7
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/.ruby-version +1 -1
- data/TODO +3 -0
- data/indented_io.gemspec +1 -1
- data/lib/indented_io.rb +1 -0
- data/lib/indented_io/indented_io.rb +1 -1
- data/lib/indented_io/indented_io_interface.rb +1 -1
- data/lib/indented_io/stringio.rb +1 -0
- data/lib/indented_io/tempfile.rb +14 -0
- data/lib/indented_io/version.rb +1 -1
- metadata +6 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 16a05ee639c3d89bf4e32a1cf77ccc9bf686106f0701761c4615847ba693e1dc
         | 
| 4 | 
            +
              data.tar.gz: 5dac44faa9ac00089cfa3aeb196e43e160222faa6c625986525c66a8c7bf5132
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 16cd031d80fb46ec616b0d8ae437df88c448adfed411a2fa9f0071728fd1d3e96fe3469e8aadb7580e913213d57d1830276c9c2c967fd5f2254424e67d192101
         | 
| 7 | 
            +
              data.tar.gz: d2f7fe0230a81e5309996f69c1d0d2da8898096fe584f43e3174694f060256a1efe5ff0396599753d0cc8e35bc833ad456bc2423a9a19f053d0ecbddb0dea1f7
         | 
    
        data/.ruby-version
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            ruby-2. | 
| 1 | 
            +
            ruby-2.7.1
         | 
    
        data/TODO
    CHANGED
    
    | @@ -1,5 +1,8 @@ | |
| 1 1 |  | 
| 2 2 | 
             
            TODO
         | 
| 3 | 
            +
              o Fix that #indent is defined on _all_ objects!
         | 
| 4 | 
            +
              o Find a solution for the inclusion of StringIO and Tempfile (the last is 
         | 
| 5 | 
            +
                required by ruby 2.7 - see also note in lib/indented_io/tempfile.rb
         | 
| 3 6 | 
             
              o Check if IO object is writable - no good solution ?
         | 
| 4 7 | 
             
              o better name for @this_indent ? 'string' ?
         | 
| 5 8 | 
             
              o Reimplement core loop in C
         | 
    
        data/indented_io.gemspec
    CHANGED
    
    | @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| | |
| 36 36 | 
             
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         | 
| 37 37 | 
             
              spec.require_paths = ["lib"]
         | 
| 38 38 |  | 
| 39 | 
            -
              spec.add_development_dependency "bundler", "~>  | 
| 39 | 
            +
              spec.add_development_dependency "bundler", "~> 2.2.10"
         | 
| 40 40 | 
             
              spec.add_development_dependency "rake", ">= 12.3.3"
         | 
| 41 41 | 
             
              spec.add_development_dependency "rspec", "~> 3.0"
         | 
| 42 42 | 
             
            end
         | 
    
        data/lib/indented_io.rb
    CHANGED
    
    | @@ -6,6 +6,7 @@ require 'indented_io/indented_io_interface' | |
| 6 6 | 
             
            require 'indented_io/kernel'
         | 
| 7 7 | 
             
            require 'indented_io/io'
         | 
| 8 8 | 
             
            require 'indented_io/stringio'
         | 
| 9 | 
            +
            require 'indented_io/tempfile'
         | 
| 9 10 |  | 
| 10 11 | 
             
            # IndentedIO module. See {IndentedIO::IndentedIO} for documentation on how to 
         | 
| 11 12 | 
             
            # use this module
         | 
| @@ -68,7 +68,7 @@ module IndentedIO | |
| 68 68 |  | 
| 69 69 | 
             
                # Make IndentedIO behave like the underlying @device
         | 
| 70 70 | 
             
                # @!visibility private 
         | 
| 71 | 
            -
                def respond_to?(method)
         | 
| 71 | 
            +
                def respond_to?(method, include_all = false)
         | 
| 72 72 | 
             
                  [:indent, :level, :print, :printf, :puts, :p].include?(method) || device.respond_to?(method)
         | 
| 73 73 | 
             
                end
         | 
| 74 74 |  | 
| @@ -33,7 +33,7 @@ module IndentedIO | |
| 33 33 | 
             
                # If +level+ is negative, #indent will outdent text instead
         | 
| 34 34 | 
             
                #
         | 
| 35 35 | 
             
                def indent(levels = 1, string_ = ::IndentedIO.default_indent, string: string_, bol: nil, &block)
         | 
| 36 | 
            -
                  block.nil? || block.arity == 1 or raise ::IndentedIO::Error.new "Wrong number of parameters"
         | 
| 36 | 
            +
                  block.nil? || block.arity == 1 or raise ::IndentedIO::Error.new "Wrong number of block parameters"
         | 
| 37 37 | 
             
                  obj = ::IndentedIO::IndentedIO.send(:new, self, levels, string, bol)
         | 
| 38 38 | 
             
                  block_given? ? yield(obj) : obj
         | 
| 39 39 | 
             
                end
         | 
    
        data/lib/indented_io/stringio.rb
    CHANGED
    
    
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            require 'indented_io/indented_io_interface'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "tempfile"
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            # Includes the IndentedIOInterface that define the #indent method
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # Note that Tempfile used to be a (kind of) IO but that changed in ruby-2.7.
         | 
| 8 | 
            +
            # The problem is that we now have to require both StringIO and Tempfile and
         | 
| 9 | 
            +
            # possible other classes to inject the #indent method instead of just doing it
         | 
| 10 | 
            +
            # once in the IO class itself. TODO: Find a better solution - probably by
         | 
| 11 | 
            +
            # implementing a check in Kernel
         | 
| 12 | 
            +
            class Tempfile
         | 
| 13 | 
            +
              include IndentedIO::IndentedIOInterface
         | 
| 14 | 
            +
            end
         | 
    
        data/lib/indented_io/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: indented_io
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.8. | 
| 4 | 
            +
              version: 0.8.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Claus Rasmussen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-08-18 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 19 | 
            +
                    version: 2.2.10
         | 
| 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:  | 
| 26 | 
            +
                    version: 2.2.10
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: rake
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -82,6 +82,7 @@ files: | |
| 82 82 | 
             
            - lib/indented_io/io.rb
         | 
| 83 83 | 
             
            - lib/indented_io/kernel.rb
         | 
| 84 84 | 
             
            - lib/indented_io/stringio.rb
         | 
| 85 | 
            +
            - lib/indented_io/tempfile.rb
         | 
| 85 86 | 
             
            - lib/indented_io/version.rb
         | 
| 86 87 | 
             
            - scripts/perf.rb
         | 
| 87 88 | 
             
            homepage: https://github.com/clrgit/indented_io
         | 
| @@ -104,8 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 104 105 | 
             
                - !ruby/object:Gem::Version
         | 
| 105 106 | 
             
                  version: '0'
         | 
| 106 107 | 
             
            requirements: []
         | 
| 107 | 
            -
             | 
| 108 | 
            -
            rubygems_version: 2.7.3
         | 
| 108 | 
            +
            rubygems_version: 3.1.4
         | 
| 109 109 | 
             
            signing_key: 
         | 
| 110 110 | 
             
            specification_version: 4
         | 
| 111 111 | 
             
            summary: Print indented text
         |