From 433e34c7f2c07aae003661c2e2182b68f03cbb67 Mon Sep 17 00:00:00 2001 From: makoto kuwata Date: Sun, 20 Mar 2011 00:45:54 +0900 Subject: [enhance] modify 'main.rb' to support Rubinius --- lib/erubis/main.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/erubis/main.rb b/lib/erubis/main.rb index c8f1ff5..a2552bd 100644 --- a/lib/erubis/main.rb +++ b/lib/erubis/main.rb @@ -484,6 +484,32 @@ module Erubis return "#{filename}:#{linenum}: #{message}" end + if defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx" + def check_syntax(filename, src) + require 'compiler' + verbose = $VERBOSE + msg = nil + begin + $VERBOSE = true + Rubinius::Compiler.compile_string(src, filename) + rescue SyntaxError => ex + ex_linenum = ex.line + linenum = 0 + srcline = src.each_line do |line| + linenum += 1 + break line if linenum == ex_linenum + end + msg = "#{ex.message}\n" + msg << srcline + msg << "\n" unless srcline =~ /\n\z/ + msg << (" " * (ex.column-1)) << "^\n" + ensure + $VERBOSE = verbose + end + return msg + end + end + end end -- cgit v1.2.1