Module: StateMachines::SyntaxValidator::RipperBackend

Defined in:
lib/state_machines/syntax_validator.rb

Overview

Universal Ruby backend via Ripper

Class Method Summary collapse

Class Method Details

.validate!(code, filename) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/state_machines/syntax_validator.rb', line 45

def validate!(code, filename)
  sexp = Ripper.sexp(code)
  if sexp.nil?
    # Ripper.sexp returns nil on a parse error, but no exception
    raise SyntaxError, "syntax error in #{filename}"
  end

  true
end