class Ollama::Documents::Splitters::Character
def split(text)
def split(text) texts = [] text.split(@separator) do |t| if @include_separator && t =~ @separator texts.last&.concat t else texts.push(t) end end result = [] current_text = +'' texts.each do |t| if current_text.size + t.size < @chunk_size current_text << t << @combining_string else current_text.empty? or result << current_text current_text = t end end current_text.empty? or result << current_text result end