mirror of
https://github.com/Shopify/liquid.git
synced 2026-10-03 00:55:11 -07:00
Extract method for raising a syntax error in the assign tag for liquid-c (#1321)
This commit is contained in:
@@ -12,15 +12,20 @@ module Liquid
|
|||||||
class Assign < Tag
|
class Assign < Tag
|
||||||
Syntax = /(#{VariableSignature}+)\s*=\s*(.*)\s*/om
|
Syntax = /(#{VariableSignature}+)\s*=\s*(.*)\s*/om
|
||||||
|
|
||||||
|
# @api private
|
||||||
|
def self.raise_syntax_error(parse_context)
|
||||||
|
raise Liquid::SyntaxError, parse_context.locale.t('errors.syntax.assign')
|
||||||
|
end
|
||||||
|
|
||||||
attr_reader :to, :from
|
attr_reader :to, :from
|
||||||
|
|
||||||
def initialize(tag_name, markup, options)
|
def initialize(tag_name, markup, parse_context)
|
||||||
super
|
super
|
||||||
if markup =~ Syntax
|
if markup =~ Syntax
|
||||||
@to = Regexp.last_match(1)
|
@to = Regexp.last_match(1)
|
||||||
@from = Variable.new(Regexp.last_match(2), options)
|
@from = Variable.new(Regexp.last_match(2), parse_context)
|
||||||
else
|
else
|
||||||
raise SyntaxError, options[:locale].t('errors.syntax.assign')
|
self.class.raise_syntax_error(parse_context)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user