lib/cucumber/parser/treetop_ext.rb in aslakhellesoy-cucumber-0.1.99.15 vs lib/cucumber/parser/treetop_ext.rb in aslakhellesoy-cucumber-0.1.99.17

- old
+ new

@@ -1,8 +1,16 @@ -require 'treetop' -require 'treetop/runtime' -require 'treetop/ruby_extensions' +begin + require 'treetop' + require 'treetop/runtime' + require 'treetop/ruby_extensions' +rescue LoadError + require "rubygems" + gem "treetop" + require 'treetop' + require 'treetop/runtime' + require 'treetop/ruby_extensions' +end module Cucumber module Parser module TreetopExt FILE_LINE_PATTERN = /^([\w\W]*?):([\d:]+)$/ @@ -30,10 +38,10 @@ end class SyntaxError < StandardError def initialize(parser, file, line_offset) tf = parser.terminal_failures - expected = tf.size == 1 ? tf[0].expected_string.inspect : "one of #{tf.map{|f| f.expected_string}.uniq*', '}" + expected = tf.size == 1 ? tf[0].expected_string.inspect : "one of #{tf.map{|f| f.expected_string.inspect}.uniq*', '}" line = parser.failure_line + line_offset message = "#{file}:#{line}:#{parser.failure_column}: Parse error, expected #{expected}." super(message) end end \ No newline at end of file