indented_io 0.8.3 → 0.8.7

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: 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