summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/chef/formatters/error_inspectors/resource_failure_inspector.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb b/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb
index eeff5f10d2..6e4d9322f9 100644
--- a/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb
+++ b/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb
@@ -63,7 +63,7 @@ class Chef
def recipe_snippet
return nil if dynamic_resource?
@snippet ||= begin
- if file = resource.source_line[/^(([\w]:)?[^:]+):([\d]+)/,1] and line = resource.source_line[/^#{Regexp.escape(file)}:([\d]+)/,1].to_i
+ if file = parse_source and line = parse_line(file)
return nil unless ::File.exists?(file)
lines = IO.readlines(file)
@@ -111,6 +111,16 @@ class Chef
line_nr_string + line
end
+ def parse_source
+ resource.source_line[/^(([\w]:)?[^:]+):([\d]+)/,1]
+ end
+
+ def parse_line(source)
+ resource.source_line[/^#{Regexp.escape(source)}:([\d]+)/,1].to_i
+ end
+
+
+
end
end
end