class Liquid::Tokenizer
Attributes
line_number[R]
Public Class Methods
new(source, line_numbers = false)
click to toggle source
# File lib/liquid/tokenizer.rb, line 5 def initialize(source, line_numbers = false) @source = source @line_number = line_numbers ? 1 : nil @tokens = tokenize end
Public Instance Methods
shift()
click to toggle source
# File lib/liquid/tokenizer.rb, line 11 def shift token = @tokens.shift @line_number += token.count("\n") if @line_number && token token end
Private Instance Methods
tokenize()
click to toggle source
# File lib/liquid/tokenizer.rb, line 19 def tokenize @source = @source.source if @source.respond_to?(:source) return [] if @source.to_s.empty? tokens = @source.split(TemplateParser) # removes the rogue empty element at the beginning of the array tokens.shift if tokens[0] && tokens[0].empty? tokens end