Sha256: e6f5800062780e4450eb43523f89963a942124841000e59bf090219ac92f71b0

Contents?: true

Size: 837 Bytes

Versions: 30

Compression:

Stored size: 837 Bytes

Contents

require 'java'

module Redcar
  class Ruby
    class SyntaxChecker < Redcar::SyntaxCheck::Checker
      supported_grammars "Ruby", "Ruby on Rails", "RSpec"

      def check(*args)
        path    = manifest_path(doc)
        file    = File.basename(path)
        runtime = org.jruby.Ruby.global_runtime
        io      = java.io.FileInputStream.new(java.io.File.new(path))
        begin
          runtime.parse_from_main(io, file)
        rescue SyntaxError => e
          create_syntax_error(doc, e.exception.message, file).annotate
        ensure
          io.close
        end
      end

      def create_syntax_error(doc, message, file)
        message  =~ /#{Regexp.escape(file)}:(\d+):(.*)/
        line     = $1.to_i - 1
        message  = $2
        Redcar::SyntaxCheck::Error.new(doc, line, message)
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
redcar-dev-0.13.1dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-0.12.1 plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.13.0dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-0.12 plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.27dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.26dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.25dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.24dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.23dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.22dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.21dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.20dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.19dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.18dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.17dev plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.16dev-java plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.15dev-java plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.14dev-java plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.13dev-java plugins/ruby/lib/ruby/syntax_checker.rb
redcar-dev-0.12.12dev-java plugins/ruby/lib/ruby/syntax_checker.rb