string-text 0.1.0 → 0.2.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: 2c8877c7f9cb5cfe2d0dc601b570a010b4ff24b5cebcb374ac3b7ae0bff4dfb5
4
- data.tar.gz: 589a2cca9d6850e4c9fb08f1d504db2377fcd82f781a728867ac26a90cd7d65f
3
+ metadata.gz: 2d954b59921214f791a82b0e1d07eb5ff770005d512fbdf231eb9e0d8c5ff7d3
4
+ data.tar.gz: 79350075e64dd1277b5a2b5610b8df9fb7c05a3e64ea90c1c4e5a6460e2f4471
5
5
  SHA512:
6
- metadata.gz: 61da90d76afcbbf88ddc44ea0eaedf28ef986d8aa5f2f0281377fa8af073f553cb28d899d2a6ea363e63dcf5c854b681538f5bad4c86d948d68984ccba025bcb
7
- data.tar.gz: c8b4e49cd741aeee1293bef948c732f9ce98a264cb89f4b6d61319d355d56290882d525968054ebfb661b9e6698cb9d17597b234c4aa7319fc930b1cf0aba899
6
+ metadata.gz: 18c9a7a0ed48c3ab51257983bb245a5087770594bbd9d20e283611846a6fce42f52af5976ef8157e572e0b6f772aa3746b321ea5d2968cfc28776775d77ae055
7
+ data.tar.gz: 037437d4642ac34a171127bce254162d230437047870847216322eed0be5b3269a6242a55f5cc00c0fe453cedb710a35874413693be8f22e8e1ff39da229075c
data/TODO ADDED
@@ -0,0 +1,12 @@
1
+
2
+ TODO
3
+ + Rename #undent -> #align
4
+
5
+ IDEA
6
+ string-ext_text
7
+ string-ext_to_b
8
+
9
+ lib/<project>/ext/string.rb
10
+ -> require 'string-ext/text.rb'
11
+ require 'string-ext/to_b.rb'
12
+
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module String::Text
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/string-text.rb CHANGED
@@ -6,7 +6,20 @@ module String::Text
6
6
  class Error < StandardError; end
7
7
 
8
8
  refine String do
9
- def undent
9
+ # Indent or outdent a block of text to the given column. It uses the indent
10
+ # of the non-empty line as the indent of the whole block that is then
11
+ # aligned as a whole (including internal indents) to the given column
12
+ #
13
+ # It is often handy when you're calling methods with a %(...) argument and
14
+ # don't want weird indentation in your output
15
+ #
16
+ # puts %(
17
+ # This line will start at column 1
18
+ # This line will start at column 3
19
+ # ).align
20
+ #
21
+ def align(column = 1)
22
+ column == 1 or raise NotImplementedError
10
23
  lines = self.split(/\n/)
11
24
  lines.shift while !lines.empty? && !(lines.first =~ /^(\s*)\S/)
12
25
  return "" if lines.empty?
@@ -21,8 +34,9 @@ module String::Text
21
34
  r.join("\n").chomp
22
35
  end
23
36
 
24
- # Converts a string to a boolean so that "true" becomes true and "false" and
25
- # the empty string becomes false. Should actually go in to a
37
+ # Converts a string to a boolean so that "true" becomes true and that
38
+ # "false" and the empty string becomes false. Any other string is an error
39
+ #
26
40
  def to_b
27
41
  case self
28
42
  when "true"; true
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.1.0
4
+ version: 0.2.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-04-25 00:00:00.000000000 Z
11
+ date: 2024-06-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem string-text
14
14
  email:
@@ -22,6 +22,7 @@ files:
22
22
  - Gemfile
23
23
  - README.md
24
24
  - Rakefile
25
+ - TODO
25
26
  - lib/string-text.rb
26
27
  - lib/string-text/version.rb
27
28
  - sig/string_text.rbs