mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-20 19:30:47 -07:00
prefix for Liquid::Error instances
This commit is contained in:
+33
-11
@@ -1,22 +1,18 @@
|
||||
module Liquid
|
||||
class Error < ::StandardError
|
||||
attr_accessor :line_number
|
||||
attr_accessor :markup_context
|
||||
|
||||
def self.render(e)
|
||||
def to_s(with_prefix=true)
|
||||
str = ""
|
||||
str << message_prefix if with_prefix
|
||||
str << super()
|
||||
|
||||
if e.is_a?(SyntaxError)
|
||||
str << "Liquid syntax error"
|
||||
else
|
||||
str << "Liquid error"
|
||||
if markup_context
|
||||
str << " "
|
||||
str << markup_context
|
||||
end
|
||||
|
||||
if e.respond_to?(:line_number) && e.line_number
|
||||
str << " (line #{e.line_number})"
|
||||
end
|
||||
|
||||
str << ": "
|
||||
str << e.message
|
||||
str
|
||||
end
|
||||
|
||||
@@ -24,6 +20,32 @@ module Liquid
|
||||
return unless token.respond_to?(:line_number)
|
||||
self.line_number = token.line_number
|
||||
end
|
||||
|
||||
def self.render(e)
|
||||
if e.is_a?(Liquid::Error)
|
||||
e.to_s
|
||||
else
|
||||
"Liquid error: #{e.to_s}"
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def message_prefix
|
||||
str = ""
|
||||
if is_a?(SyntaxError)
|
||||
str << "Liquid syntax error"
|
||||
else
|
||||
str << "Liquid error"
|
||||
end
|
||||
|
||||
if line_number
|
||||
str << " (line #{line_number})"
|
||||
end
|
||||
|
||||
str << ": "
|
||||
str
|
||||
end
|
||||
end
|
||||
|
||||
class ArgumentError < Error; end
|
||||
|
||||
Reference in New Issue
Block a user