Class: RBlade::Utility

Inherits:
Object
  • Object
show all
Defined in:
lib/rblade/helpers/utility.rb

Class Method Summary collapse

Class Method Details

.append_unprocessed_string_segment!(token, segments, string, offset = 0) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/rblade/helpers/utility.rb', line 3

def self.append_unprocessed_string_segment!(token, segments, string, offset = 0)
  if segments.last&.type == :unprocessed
    segments.last.value << string
    segments.last.end_offset += string.length
  else
    start_offset = segments.last&.end_offset || token.start_offset
    segments << Token.new(
      type: :unprocessed,
      value: string,
      start_offset: start_offset,
      end_offset: start_offset + string.length + offset,
    )
  end
end