Issue #10395 has been updated by Nobuyoshi Nakada.

Description updated
Status changed from Open to Assigned
Assignee set to Masatoshi Seki
Target version set to Ruby 2.2.0

No new features for maintenance branches.
And your patch doesn't allow options after variables.

https://github.com/nobu/ruby/compare/Feature%2310395-erb-variables-from-commandline

----------------------------------------
Feature #10395: erb: allow variables to be set from the command line
https://bugs.ruby-lang.org/issues/10395#change-49509

* Author: Jos Backus
* Status: Assigned
* Priority: Normal
* Assignee: Masatoshi Seki
* Category: 
* Target version: Ruby 2.2.0
----------------------------------------
This would make erb more useful from the command line. Granted the use of Binding#eval is dangerous so one has to be careful. Newer versions of Ruby have Binding#local_variable_set which can be used instead but this works with Ruby 2.0.0.

~~~
jonagold:local jos$ cat /tmp/erb-template
This is <%= foo %>
And this is <%= bar %>
~~~
~~~diff
jonagold:local jos$ diff -u /usr/bin/erb /tmp/erb
--- /usr/bin/erb	2014-05-15 22:14:36.000000000 -0700
+++ /tmp/erb	2014-10-16 22:29:37.000000000 -0700
@@ -114,6 +114,13 @@
         exit 1
       end

+      vars = ARGV.take_while {|arg| arg[/^\w+=/]}
+      ARGV.slice!(0, vars.size)
+      vars.each do |var|
+        k, v = var.split('=', 2)
+        TOPLEVEL_BINDING.eval %Q(#{k} = "#{v}")
+      end
+
       $<.set_encoding(Encoding::ASCII_8BIT, nil)
       src = $<.read
       filename = $FILENAME
~~~
~~~
jonagold:local jos$ /tmp/erb foo=FOO bar=123 /tmp/erb-template
This is FOO
And this is 123
jonagold:local jos$
~~~



-- 
https://bugs.ruby-lang.org/