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
|