string-text 0.2.1 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/string-text/version.rb +1 -1
- data/lib/string-text.rb +7 -7
- 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: 966183d6fa9a4ab3f04278e9f0e22c5c85cc704b3a82c5d9271f065d5968905b
|
4
|
+
data.tar.gz: 0bc9b6cf81c86bc1e0104b3fbe95e000c14a4983ce8ed311eb2a9dfc0b21063c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 185b584f5adabc6a82bcfcb191cd2ea6ba6e2fb364e95ab273c3f4beb20a581dfe859a1c08788946539369c008770f14cb4e600be23ea78484c69651d98aaa0a
|
7
|
+
data.tar.gz: c446c492db325e861e86f308cb924d2adfdc3f2a6320e0a4aa771d61621302c92a5bdcd7c8814d272c6cc98895ed8712f95f4c93e704dfe58559c8d6db258d14
|
data/lib/string-text/version.rb
CHANGED
data/lib/string-text.rb
CHANGED
@@ -6,10 +6,10 @@ module String::Text
|
|
6
6
|
class Error < StandardError; end
|
7
7
|
|
8
8
|
refine String do
|
9
|
-
# Indent or outdent a block of text to the given column. It
|
10
|
-
# of the non-empty line as the indent of the
|
11
|
-
# aligned as a whole (including internal indents)
|
12
|
-
# Initial and final empty lines are ignored
|
9
|
+
# Indent or outdent a block of text to the given column (default 1). It
|
10
|
+
# uses the indent of the least indented non-empty line as the indent of the
|
11
|
+
# whole block that is then aligned as a whole (including internal indents)
|
12
|
+
# to the given column. Initial and final empty lines are ignored
|
13
13
|
#
|
14
14
|
# #align is often handy when you call methods with a %(...) argument
|
15
15
|
# and don't want weird indentation in your output
|
@@ -23,10 +23,10 @@ module String::Text
|
|
23
23
|
column == 1 or raise NotImplementedError
|
24
24
|
lines = self.split(/\n/)
|
25
25
|
lines.pop while !lines.empty? && !(lines.last =~ /^\s*\S/)
|
26
|
-
lines.shift while !lines.empty? && !(lines.first =~
|
26
|
+
lines.shift while !lines.empty? && !(lines.first =~ /^\s*\S/)
|
27
27
|
return "" if lines.empty?
|
28
|
-
indent = $1.size
|
29
|
-
lines.map { |line| line[indent..-1]
|
28
|
+
indent = lines.map { _1 =~ /^(\s*)/; $1.size }.select { _1 > 0 }.min || 0
|
29
|
+
lines.map { |line| line[indent..-1]&.rstrip || "" }.join("\n")
|
30
30
|
end
|
31
31
|
|
32
32
|
# Converts a string to a boolean so that "true" becomes true and that
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: string-text
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Gem string-text
|
14
14
|
email:
|