From 799dd7108ef87821bf39cb6e611612f7b3338fd1 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Sat, 27 Feb 2010 17:26:27 +0000 Subject: [PATCH] String.undent for prettier HEREDOCs --- Library/Homebrew/extend/ARGV.rb | 51 +++++++++++++++---------------- Library/Homebrew/extend/string.rb | 15 +++++++++ Library/Homebrew/global.rb | 1 + 3 files changed, 41 insertions(+), 26 deletions(-) create mode 100644 Library/Homebrew/extend/string.rb diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 34278e6e17..b43979fae6 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -61,36 +61,35 @@ module HomebrewArgvExtension return false end - def usage - <<-EOS -Usage: brew command [formula] ... -Usage: brew [--prefix] [--cache] [--version|-v] -Usage: brew [--verbose|-v] + def usage; <<-EOS.undent + Usage: brew command [formula] ... + Usage: brew [--prefix] [--cache] [--version|-v] + Usage: brew [--verbose|-v] -Principle Commands: - install formula ... [--ignore-dependencies] [--HEAD|-H] - list [--unbrewed] [formula] ... - search [/regex/] [substring] - uninstall formula ... - update + Principle Commands: + install formula ... [--ignore-dependencies] [--HEAD|-H] + list [--unbrewed] [formula] ... + search [/regex/] [substring] + uninstall formula ... + update -Other Commands: - cleanup [formula] - home formula ... - info [formula] [--github] - link formula ... - outdated - prune - unlink formula ... + Other Commands: + cleanup [formula] + home formula ... + info [formula] [--github] + link formula ... + outdated + prune + unlink formula ... -Commands useful when contributing: - create URL - edit [formula] - log formula - install formula [--debug|-d] [--interactive|-i] [--verbose|-v] + Commands useful when contributing: + create URL + edit [formula] + log formula + install formula [--debug|-d] [--interactive|-i] [--verbose|-v] -To visit the Homebrew homepage type: - brew home + To visit the Homebrew homepage type: + brew home EOS end diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb new file mode 100644 index 0000000000..974906b1d2 --- /dev/null +++ b/Library/Homebrew/extend/string.rb @@ -0,0 +1,15 @@ +class String + def undent + gsub /^.{#{slice(/^ +/).length}}/, '' + end +end + +if __FILE__ == $0 + undented = <<-EOS.undent + hi +....my friend over + there + EOS + + assert undented == "hi\nmy friend over\nthere\n" +end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 4451e39746..a71ecc67d4 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -1,5 +1,6 @@ require 'extend/pathname' require 'extend/ARGV' +require 'extend/string' require 'utils' ARGV.extend(HomebrewArgvExtension)