aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaptiste Fontaine2015-04-12 12:07:32 +0200
committerMike McQuaid2015-04-13 12:16:20 -0700
commit1f9a6e8a0af5bfab2d2daf5f105d26ed8e776f8a (patch)
treed9ae86d009c312d53d8417263d28d9128b9a89fe
parent6d534d861e5028ae1c5d2d5a6ff48613468d4b8a (diff)
downloadhomebrew-1f9a6e8a0af5bfab2d2daf5f105d26ed8e776f8a.tar.bz2
plod: modernize, test added
Closes #38582. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
-rw-r--r--Library/Formula/plod.rb103
1 files changed, 50 insertions, 53 deletions
diff --git a/Library/Formula/plod.rb b/Library/Formula/plod.rb
index 50d483d2f..126960245 100644
--- a/Library/Formula/plod.rb
+++ b/Library/Formula/plod.rb
@@ -1,72 +1,69 @@
-require 'formula'
-
class Plod < Formula
- homepage 'http://www.deer-run.com/~hal/'
- url 'http://www.deer-run.com/~hal/plod/plod.shar'
- version '1.9'
- sha1 '5cceafeafeb5487926e93e2f5e9ecfce64f6cdd3'
+ homepage "http://www.deer-run.com/~hal/"
+ url "http://www.deer-run.com/~hal/plod/plod.shar"
+ version "1.9"
+ sha256 "1b7b8267c41b11c2f5413a8d6850099e0547b7506031b0c733121ed5e8d182f5"
def install
- system "sh plod.shar"
- set_plod_vars!
+ system "sh", "plod.shar"
+
+ pager = ENV["PAGER"] || "/usr/bin/less"
+ editor = ENV["EDITOR"] || "/usr/bin/emacs"
+ visual = ENV["VISUAL"] || editor
+
inreplace "plod" do |s|
s.gsub! "#!/usr/local/bin/perl", "#!/usr/bin/env perl"
s.gsub! '"/bin/crypt"', "undef"
- s.gsub! "/usr/local/bin/less", @plod_vars[:pager]
- s.gsub! '$EDITOR = "/usr/local/bin/emacs"',
- "$EDITOR = \"#{@plod_vars[:editor]}\""
- s.gsub! '$VISUAL = "/usr/local/bin/emacs"',
- "$VISUAL = \"#{@plod_vars[:visual]}\""
+ s.gsub! "/usr/local/bin/less", pager
+ s.gsub! '$EDITOR = "/usr/local/bin/emacs"', "$EDITOR = \"#{editor}\""
+ s.gsub! '$VISUAL = "/usr/local/bin/emacs"', "$VISUAL = \"#{visual}\""
end
man1.install "plod.man" => "plod.1"
bin.install "plod"
- prefix.install 'plod.el.v1', 'plod.el.v2'
- ohai "Creating #{prefix}/plodrc"
- (prefix + "plodrc").write plodrc
- end
+ prefix.install "plod.el.v1", "plod.el.v2"
- def set_plod_vars!
- @plod_vars = { :pager => ENV['PAGER'] || "/usr/bin/less",
- :editor => ENV['EDITOR'] || "/usr/bin/emacs" }
- @plod_vars[:visual] = @plod_vars[:visual] || ENV['VISUAL'] ||
- @plod_vars[:editor]
+ (prefix/"plodrc").write <<-PLODRC.undent
+ # Uncomment lines and change their values to override defaults.
+ # man plod for further details.
+ #
+ # $PROMPT = 0;
+ # $CRYPTCMD = undef;
+ # $TMPFILE = "/tmp/plodtmp$$";
+ # $HOME = (getpwuid($<))[7];
+ # $EDITOR = "#{editor}";
+ # $VISUAL = "#{visual}";
+ # $PAGER = "#{pager}";
+ # $LINES = 24;
+ # $LOGDIR = "$HOME/.logdir";
+ # $LOGFILE = sprintf("%04d%02d", $YY+1900, $MM);
+ # $BACKUP = ".plod$$.bak";
+ # $DEADLOG = "dead.log";
+ # $STAMP = sprintf("%02d/%02d/%04d, %02d:%02d --", $MM, $DD, $YY+1900, $hh, $mm);
+ # $PREFIX = '';
+ # $SUFFIX = '';
+ # $SEPARATOR = '-----';
+ PLODRC
end
- def plodrc; <<-PLODRC
-# Uncomment lines and change their values to override defaults.
-# man plod for further details.
-#
-# $PROMPT = 0;
-# $CRYPTCMD = undef;
-# $TMPFILE = "/tmp/plodtmp$$";
-# $HOME = (getpwuid($<))[7];
-# $EDITOR = "#{@plod_vars[:editor]}";
-# $VISUAL = "#{@plod_vars[:visual]}";
-# $PAGER = "#{@plod_vars[:pager]}";
-# $LINES = 24;
-# $LOGDIR = "$HOME/.logdir";
-# $LOGFILE = sprintf("%04d%02d", $YY+1900, $MM);
-# $BACKUP = ".plod$$.bak";
-# $DEADLOG = "dead.log";
-# $STAMP = sprintf("%02d/%02d/%04d, %02d:%02d --", $MM, $DD, $YY+1900, $hh, $mm);
-# $PREFIX = '';
-# $SUFFIX = '';
-# $SEPARATOR = '-----';
-PLODRC
- end
+ def caveats; <<-EOS.undent
+ Emacs users may want to peruse the two available plod modes. They've been
+ installed at:
- def caveats; <<-EOS
-Emacs users may want to peruse the two available plod modes. They've been
-installed at:
+ #{prefix}/plod.el.v1
+ #{prefix}/plod.el.v2
- #{prefix}/plod.el.v1
- #{prefix}/plod.el.v2
+ Certain environment variables can be customized.
-Certain environment variables can be customized.
+ cp #{prefix}/plodrc ~/.plodrc
- cp #{prefix}/plodrc ~/.plodrc
+ See man page for details.
+ EOS
+ end
-See man page for details.
-EOS
+ test do
+ ENV["LOGDIR"] = testpath/".logdir"
+ system "#{bin}/plod", "this", "is", "Homebrew"
+ assert File.directory? "#{testpath}/.logdir"
+ assert_match(/this is Homebrew/, shell_output("#{bin}/plod -P"))
end
end