Module: SemanticTextChunker::Metadata

Defined in:
lib/semantic_text_chunker/metadata.rb

Constant Summary collapse

KNOWN_KEYS =
%i[title author chapter section source].freeze

Class Method Summary collapse

Class Method Details

.prefix(**kwargs) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/semantic_text_chunker/metadata.rb', line 5

def self.prefix(**kwargs)
  lines = []

  KNOWN_KEYS.each do |key|
    val = kwargs[key]
    lines << "#{key.to_s.capitalize}: #{val}" if val && !val.to_s.empty?
  end

  # Any extra keys appended at end, titlecased
  (kwargs.keys - KNOWN_KEYS).each do |key|
    val = kwargs[key]
    lines << "#{key.to_s.split('_').map(&:capitalize).join(' ')}: #{val}" if val
  end

  lines.empty? ? "" : lines.join("\n") + "\n\n"
end