aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMarkus Reiter2017-10-15 02:38:10 +0200
committerMarkus Reiter2017-10-18 14:39:09 +0200
commit487bec957007612956ff97b3912f88768becaa32 (patch)
treee795eb773ea03778c59e05fdcb62b7100aa3ebaa /Library
parent9bee9ca5757d1c5f720787737fed6a534a620d72 (diff)
downloadbrew-487bec957007612956ff97b3912f88768becaa32.tar.bz2
Move `String#undent` to `compat`.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/compat.rb1
-rw-r--r--Library/Homebrew/compat/extend/string.rb18
-rw-r--r--Library/Homebrew/extend/string.rb17
-rw-r--r--Library/Homebrew/test/string_spec.rb36
4 files changed, 19 insertions, 53 deletions
diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb
index 3c080f616..8b3d72ec7 100644
--- a/Library/Homebrew/compat.rb
+++ b/Library/Homebrew/compat.rb
@@ -26,3 +26,4 @@ require "compat/ENV/shared"
require "compat/ENV/std"
require "compat/ENV/super"
require "compat/utils/shell"
+require "compat/extend/string"
diff --git a/Library/Homebrew/compat/extend/string.rb b/Library/Homebrew/compat/extend/string.rb
new file mode 100644
index 000000000..6069a6bec
--- /dev/null
+++ b/Library/Homebrew/compat/extend/string.rb
@@ -0,0 +1,18 @@
+class String
+ def undent
+ gsub(/^[ \t]{#{(slice(/^[ \t]+/) || '').length}}/, "")
+ end
+ alias unindent undent
+
+ # eg:
+ # if foo then <<-EOS.undent_________________________________________________________72
+ # Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+ # eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
+ # minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ # ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
+ # voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
+ # sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
+ # mollit anim id est laborum.
+ # EOS
+ alias undent_________________________________________________________72 undent
+end
diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb
index 2e9e89b38..c94bfc834 100644
--- a/Library/Homebrew/extend/string.rb
+++ b/Library/Homebrew/extend/string.rb
@@ -2,23 +2,6 @@
require_relative "../vendor/backports/string"
class String
- def undent
- gsub(/^[ \t]{#{(slice(/^[ \t]+/) || '').length}}/, "")
- end
- alias unindent undent
-
- # eg:
- # if foo then <<~EOS_________________________________________________________72
- # Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
- # eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
- # minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
- # ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
- # voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
- # sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
- # mollit anim id est laborum.
- # EOS
- alias undent_________________________________________________________72 undent
-
# String.chomp, but if result is empty: returns nil instead.
# Allows `chuzzle || foo` short-circuits.
def chuzzle
diff --git a/Library/Homebrew/test/string_spec.rb b/Library/Homebrew/test/string_spec.rb
index dba6753bf..6de89dc99 100644
--- a/Library/Homebrew/test/string_spec.rb
+++ b/Library/Homebrew/test/string_spec.rb
@@ -1,41 +1,5 @@
require "extend/string"
-describe String do
- describe "#undent" do
- it "removes leading whitespace, taking the first line as reference" do
- string = <<-EOS.unindent
- hi
- ........my friend over
- there
- EOS
-
- expect(string).to eq("hi\n........my friend over\n there\n")
- end
-
- it "removes nothing if the text is not indented" do
- string = <<-EOS.unindent
- hi
- I'm not indented
- EOS
-
- expect(string).to eq("hi\nI'm not indented\n")
- end
-
- it "can be nested" do
- nested_string = <<~EOS
- goodbye
- EOS
-
- string = <<~EOS
- hello
- #{nested_string}
- EOS
-
- expect(string).to eq("hello\ngoodbye\n\n")
- end
- end
-end
-
describe StringInreplaceExtension do
subject { string.extend(described_class) }
let(:string) { "foobar" }