From 1bb25b049884b1eccd31a347898533c7cf68f9d5 Mon Sep 17 00:00:00 2001 From: yugui Date: Tue, 30 Dec 2008 10:32:16 +0000 Subject: merges r21171 from trunk into ruby_1_9_1. * bin/erb: accepts options in more flexible styles. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ bin/erb | 24 +++++++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index ddb60d91df..dedcb87a15 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Dec 29 17:53:24 2008 Yuki Sonoda (Yugui) + + * bin/erb: accepts options in more flexible styles. + Mon Dec 29 17:25:17 2008 Yuki Sonoda (Yugui) * lib/erb.rb (ERB): m17n of ERB. adds rdoc. diff --git a/bin/erb b/bin/erb index d26564104f..6db3d0b6ed 100755 --- a/bin/erb +++ b/bin/erb @@ -12,9 +12,17 @@ class ERB arg = self.shift return nil if arg == '--' if arg =~ /^-(.)(.*)/ - return arg if $1 == '-' - raise 'unknown switch "-"' if $2.index('-') - self.unshift "-#{$2}" if $2.size > 0 + if $1 == '-' + arg, @maybe_arg = arg.split(/=/, 2) + return arg + end + raise 'unknown switch "-"' if $2[0] == ?- and $1 != 'T' + if $2.size > 0 + self.unshift "-#{$2}" + @maybe_arg = $2 + else + @maybe_arg = nil + end "-#{$1}" else self.unshift arg @@ -23,7 +31,9 @@ class ERB end def ARGV.req_arg - self.shift || raise('missing argument') + (@maybe_arg || self.shift || raise('missing argument')).tap { + @maybe_arg = nil + } end def trim_mode_opt(trim_mode, disable_percent) @@ -94,11 +104,11 @@ class ERB -n print ruby script with line number -v enable verbose mode -d set $DEBUG to true - -r [library] load a library - -S [safe_level] set $SAFE (0..4) + -r library load a library + -S safe_level set $SAFE (0..4) -E ex[:in] set default external/internal encodings -U set default encoding to UTF-8. - -T [trim_mode] specify trim_mode (0..2, -) + -T trim_mode specify trim_mode (0..2, -) -P ignore lines which start with "%" EOU exit 1 -- cgit v1.2.3