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