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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c52022b172e9e40bdd2077958ab7f64dbaeaa14fa192a566f1557d2d6d582dc6
4
- data.tar.gz: 5dec12ddbb0ba232639db2d11a39a24650122e2991ef30584120914928319f7c
3
+ metadata.gz: 16a05ee639c3d89bf4e32a1cf77ccc9bf686106f0701761c4615847ba693e1dc
4
+ data.tar.gz: 5dac44faa9ac00089cfa3aeb196e43e160222faa6c625986525c66a8c7bf5132
5
5
  SHA512:
6
- metadata.gz: 4b745073a08c62c89c8da810418b5e86e0515517b27984627821d7c0165024e05571eca635d6ebb59dcd0fc7d7045765340db8d5e7061f1aa73b373b318bbd78
7
- data.tar.gz: 7d8657ddadf0932ba5c1636b6fd6c9695821871848b1b58304c6ca74aba3fa2016bed1855f8061b48797d5e212240855513a6b3e8b14d9b722077046fd5d25f4
6
+ metadata.gz: 16cd031d80fb46ec616b0d8ae437df88c448adfed411a2fa9f0071728fd1d3e96fe3469e8aadb7580e913213d57d1830276c9c2c967fd5f2254424e67d192101
7
+ data.tar.gz: d2f7fe0230a81e5309996f69c1d0d2da8898096fe584f43e3174694f060256a1efe5ff0396599753d0cc8e35bc833ad456bc2423a9a19f053d0ecbddb0dea1f7
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.5.0
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", "~> 1.16"
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
@@ -1,3 +1,4 @@
1
+ require 'stringio' # Requiered to avoid 'superclass mismatch' errors in other modules
1
2
  require 'indented_io/indented_io_interface'
2
3
 
3
4
  # Includes the IndentedIOInterface that define the #indent method
@@ -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
@@ -1,4 +1,4 @@
1
1
  module IndentedIO
2
2
  # Version number
3
- VERSION = '0.8.3'
3
+ VERSION = '0.8.7'
4
4
  end
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.3
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: 2020-03-06 00:00:00.000000000 Z
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: '1.16'
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: '1.16'
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
- rubyforge_project:
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