class Gammo::Tokenizer::EscapedToken
Constants
- NULL
- REPLACEMENT
Attributes
convert_null[RW]
convert_null?[RW]
raw[RW]
require_raw_data?[RW]
Public Class Methods
new(data = nil, raw: false, convert_null: false, **options)
click to toggle source
Calls superclass method
Gammo::Tokenizer::BaseToken::new
# File lib/gammo/tokenizer/tokens.rb, line 27 def initialize(data = nil, raw: false, convert_null: false, **options) super(data, **options) @raw = raw @convert_null = convert_null load_data(data) end
Public Instance Methods
load_data(raw_data)
click to toggle source
# File lib/gammo/tokenizer/tokens.rb, line 34 def load_data(raw_data) unless raw_data @data = nil return end raw_data = convert_newlines(raw_data).force_encoding(Encoding::UTF_8) raw_data = raw_data.gsub(%r{#{NULL}}, REPLACEMENT) if should_convert_null?(raw_data) @data = require_raw_data? ? raw_data : unescape(raw_data, in_attribute: false) end
Private Instance Methods
convert_newlines(s)
click to toggle source
# File lib/gammo/tokenizer/tokens.rb, line 53 def convert_newlines(s) s.gsub(/(\r\n|\r)/, ?\n) end
should_convert_null?(data)
click to toggle source
# File lib/gammo/tokenizer/tokens.rb, line 49 def should_convert_null?(data) data && (convert_null? || self.class == CommentToken) && data.include?(NULL) end