about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/bin/rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/bin/bin/rb b/bin/bin/rb
new file mode 100755
index 0000000..bf40e63
--- /dev/null
+++ b/bin/bin/rb
@@ -0,0 +1,12 @@
+#!/usr/bin/env ruby
+
+def execute(_, code)
+  puts _.instance_eval(&code)
+rescue Errno::EPIPE
+  exit
+end
+
+single_line = ARGV.delete('-l')
+code = eval("Proc.new { #{ARGV.join(' ')} }")
+single_line ? STDIN.each { |l| execute(l.chomp, code) } : execute(STDIN.each_line, code)
+