Class: GeminiCraft::ContentExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/gemini_craft/client.rb

Instance Method Summary collapse

Instance Method Details

#extract(response) ⇒ Object



345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/gemini_craft/client.rb', line 345

def extract(response)
  candidates = response["candidates"]
  return "" if candidates.nil? || candidates.empty?

  content = candidates[0]["content"]
  return "" if content.nil?

  parts = content["parts"]
  return "" if parts.nil? || parts.empty?

  text = parts[0]["text"]
  text || ""
rescue StandardError => e
  raise ResponseError, "Failed to extract content from response: #{e.message}"
end