Class: ChunkerRuby::Character
- Inherits:
-
BaseSplitter
- Object
- BaseSplitter
- ChunkerRuby::Character
- Defined in:
- lib/chunker_ruby/character.rb
Instance Attribute Summary
Attributes inherited from BaseSplitter
Instance Method Summary collapse
Methods inherited from BaseSplitter
Constructor Details
This class inherits a constructor from ChunkerRuby::BaseSplitter
Instance Method Details
#split(text, metadata: {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/chunker_ruby/character.rb', line 5 def split(text, metadata: {}) return [] if text.nil? || text.empty? chunks = [] start = 0 while start < text.length end_pos = [start + @chunk_size, text.length].min chunk_text = text[start...end_pos] chunks << Chunk.new( text: chunk_text, index: chunks.size, offset: start, metadata: .dup ) break if end_pos >= text.length start += @chunk_size - @chunk_overlap end chunks end |