From 253ec81b565ce3fa879b32e5692d5bfb795c8601 Mon Sep 17 00:00:00 2001 From: Michael Go Date: Mon, 25 Nov 2024 15:28:45 -0400 Subject: [PATCH] don't add a breaking change to Parser constructor --- lib/liquid/parse_context.rb | 3 ++- lib/liquid/parser.rb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/liquid/parse_context.rb b/lib/liquid/parse_context.rb index ae2b3ee0..d8471475 100644 --- a/lib/liquid/parse_context.rb +++ b/lib/liquid/parse_context.rb @@ -30,7 +30,8 @@ module Liquid end def new_parser(input) - Parser.new(input, @string_scanner) + @string_scanner.string = input + Parser.new(@string_scanner) end def new_tokenizer(source, start_line_number: nil, for_liquid_tag: false) diff --git a/lib/liquid/parser.rb b/lib/liquid/parser.rb index a4f781d7..cba3dc7c 100644 --- a/lib/liquid/parser.rb +++ b/lib/liquid/parser.rb @@ -2,7 +2,8 @@ module Liquid class Parser - def initialize(input, string_scanner) + def initialize(input) + input = input.is_a?(StringScanner) ? input : StringScanner.new(input.to_s) @tokens = Lexer.tokenize(input, string_scanner) @p = 0 # pointer to current location end