Class: ChunkerRuby::Separator

Inherits:
BaseSplitter show all
Defined in:
lib/chunker_ruby/separator.rb

Instance Attribute Summary

Attributes inherited from BaseSplitter

#chunk_overlap, #chunk_size

Instance Method Summary collapse

Methods inherited from BaseSplitter

#split_many

Constructor Details

#initialize(separator: "\n\n", keep_separator: true, **kwargs) ⇒ Separator

Returns a new instance of Separator.



5
6
7
8
9
# File 'lib/chunker_ruby/separator.rb', line 5

def initialize(separator: "\n\n", keep_separator: true, **kwargs)
  super(**kwargs)
  @separator = separator
  @keep_separator = keep_separator
end

Instance Method Details

#split(text, metadata: {}) ⇒ Object



11
12
13
14
15
16
# File 'lib/chunker_ruby/separator.rb', line 11

def split(text, metadata: {})
  return [] if text.nil? || text.empty?

  pieces = split_by_separator(text, @separator)
  build_chunks(pieces, text, metadata: )
end