<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,6 +12,11 @@ module Webgen
       name.split('::').inject(Object) {|b,n| b.const_get(n)}
     end
 
+    # Return the error line by inspecting the backtrace of the given +error+ instance.
+    def self.error_line(error)
+      (error.is_a?(::SyntaxError) ? error.message : error.backtrace[0]).scan(/:(\d+)/).first.first.to_i rescue nil
+    end
+
   end
 
 end</diff>
      <filename>lib/webgen/common.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 # -*- encoding: utf-8 -*-
 
+require 'webgen/common'
+
 module Webgen::ContentProcessor
 
   # Processes content that is valid Ruby to build an XML tree. This is done by using the +builder+
@@ -25,8 +27,7 @@ module Webgen::ContentProcessor
     rescue LoadError
       raise Webgen::LoadError.new('builder', self.class.name, context.dest_node.alcn, 'builder')
     rescue Exception =&gt; e
-      line = (e.is_a?(::SyntaxError) ? e.message : e.backtrace[0]).scan(/:(\d+)/).first.first.to_i rescue nil
-      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, line)
+      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, Webgen::Common.error_line(e))
     end
 
   end</diff>
      <filename>lib/webgen/contentprocessor/builder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 # -*- encoding: utf-8 -*-
 
+require 'webgen/common'
+
 module Webgen::ContentProcessor
 
   # Processes embedded Ruby statements.
@@ -22,8 +24,7 @@ module Webgen::ContentProcessor
       context.content = erb.result(binding)
       context
     rescue Exception =&gt; e
-      line = (e.is_a?(::SyntaxError) ? e.message : e.backtrace[0]).scan(/:(\d+)/).first.first.to_i rescue nil
-      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, line)
+      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, Webgen::Common.error_line(e))
     end
 
   end</diff>
      <filename>lib/webgen/contentprocessor/erb.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 # -*- encoding: utf-8 -*-
 
+require 'webgen/common'
+
 module Webgen::ContentProcessor
 
   # Processes embedded Ruby statements with the +erubis+ library.
@@ -35,8 +37,7 @@ module Webgen::ContentProcessor
     rescue LoadError
       raise Webgen::LoadError.new('erubis', self.class.name, context.dest_node.alcn, 'erubis')
     rescue Exception =&gt; e
-      line = (e.is_a?(::SyntaxError) ? e.message : e.backtrace[0]).scan(/:(\d+)/).first.first.to_i rescue nil
-      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, line)
+      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, Webgen::Common.error_line(e))
     end
 
   end</diff>
      <filename>lib/webgen/contentprocessor/erubis.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 # -*- encoding: utf-8 -*-
 
+require 'webgen/common'
+
 module Webgen::ContentProcessor
 
   # Processes content in Haml markup using the +haml+ library.
@@ -24,9 +26,14 @@ module Webgen::ContentProcessor
     rescue LoadError
       raise Webgen::LoadError.new('haml', self.class.name, context.dest_node.alcn, 'haml')
     rescue ::Haml::Error =&gt; e
-      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, (e.line + 1 if e.line))
+      line = if e.line
+               e.line + 1
+             else
+               Webgen::Common.error_line(e)
+             end
+      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, line)
     rescue Exception =&gt; e
-      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn)
+      raise Webgen::RenderError.new(e, self.class.name, context.dest_node.alcn, context.ref_node.alcn, Webgen::Common.error_line(e))
     end
 
   end</diff>
      <filename>lib/webgen/contentprocessor/haml.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>da6498766591fc5d3069a7de79b2cc4cfbf6d97a</id>
    </parent>
  </parents>
  <author>
    <name>Thomas Leitner</name>
    <email>t_leitner@gmx.at</email>
  </author>
  <url>http://github.com/gettalong/webgen/commit/73b8fd99449f70fdea314f1855c58bd70995ee50</url>
  <id>73b8fd99449f70fdea314f1855c58bd70995ee50</id>
  <committed-date>2009-10-11T00:11:04-07:00</committed-date>
  <authored-date>2009-10-11T00:11:04-07:00</authored-date>
  <message>Moved implementation of retrieving the error line from an error into own method</message>
  <tree>9fcb03735cd110b7b233ce3b2a9d483f3b3f68a5</tree>
  <committer>
    <name>Thomas Leitner</name>
    <email>t_leitner@gmx.at</email>
  </committer>
</commit>
