Module: StateMachines::SyntaxValidator::UniversalBackend
- Defined in:
- lib/state_machines/syntax_validator.rb
Overview
Universal Ruby backend
Class Method Summary collapse
Class Method Details
.validate!(code, filename) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/state_machines/syntax_validator.rb', line 43 def validate!(code, filename) code = code.b code.sub!(/\A(?:\xef\xbb\xbf)?(\s*\#.*$)*(\n)?/n) { "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n" } code = code.force_encoding(Encoding::UTF_8) catch { |tag| eval(code, binding, filename, __LINE__ - 1) } == :ok end |