string-text 0.3.0 → 0.4.0

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: a0aca29ea9d4de27eee11ec5fcbc58a7a0daad9fb2ed31507bb919b1bca3b9e2
4
- data.tar.gz: a01a8670c95fca9090d484a6defd0fed7b02dc81c8175d10450f6dff03be6c3e
3
+ metadata.gz: bbebbdbd77112e3f5322cd1bc2e1296c06cc0e4106dbb2b59cfa71e41e869f93
4
+ data.tar.gz: 883ad7d37349a4a0b7851006d19292e46c4a9628a63daba9011fd8283b782bde
5
5
  SHA512:
6
- metadata.gz: 5f9ec6576c3c0ecd16637cc8e7f9e806d08c8478480f87812a362831677cd7abc1287d979d200e010d7b9ff2f9954495e279436482362eaff1c1f703ccb27e2d
7
- data.tar.gz: d441c56ceefd09be12f512c34e72cb15787719a25107e3aef186206eb8d8fa1962884bc9549de6fa16b6bc4e85be151ee5fc5c5c07e92808c2dcbcc04b725548
6
+ metadata.gz: 37879cfee303951695df37ba4a110a3020a3d8b769fb0e1ed48607aea1912d8c1ef4085bed452b881422e2a687e2e46a050f33bb8adc577a3eaaeafdbd1b8f45
7
+ data.tar.gz: f32f7e8b5146b90f763e8a68301be62d37354f640b6882364334ba64d741f56ee2eac35cb78a37e8b319cf2d679c94ec90fa0bb0a16d1d4ed3381556f4eb27d2
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module String::Text
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/string-text.rb CHANGED
@@ -20,13 +20,17 @@ module String::Text
20
20
  # ).align
21
21
  #
22
22
  def align(column = 1)
23
- column == 1 or raise NotImplementedError
23
+ column > 0 or raise ArgumentError "Illegal column: #{column}"
24
+ initial = " " * (column - 1)
24
25
  lines = self.split(/\n/)
25
26
  lines.pop while !lines.empty? && !(lines.last =~ /^\s*\S/)
26
27
  lines.shift while !lines.empty? && !(lines.first =~ /^\s*\S/)
27
28
  return "" if lines.empty?
28
29
  indent = lines.map { _1 =~ /^(\s*)/; $1.size }.select { _1 > 0 }.min || 0
29
- lines.map { |line| line[indent..-1]&.rstrip || "" }.join("\n")
30
+ lines.map { |line|
31
+ l = line[indent..-1]&.rstrip
32
+ l ? initial + l : ""
33
+ }.join("\n")
30
34
  end
31
35
 
32
36
  # Like #align but replaces the string
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.3.0
4
+ version: 0.4.0
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-09-22 00:00:00.000000000 Z
11
+ date: 2024-09-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem string-text
14
14
  email: