Class: FlexiAdmin::Services::CodeGen::Gemini::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/flexi_admin/services/code_gen/gemini.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response, format:) ⇒ Response

Returns a new instance of Response.



27
28
29
30
# File 'lib/flexi_admin/services/code_gen/gemini.rb', line 27

def initialize(response, format:)
  @response = response
  @format = format
end

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



25
26
27
# File 'lib/flexi_admin/services/code_gen/gemini.rb', line 25

def response
  @response
end

Instance Method Details

#textObject



32
33
34
# File 'lib/flexi_admin/services/code_gen/gemini.rb', line 32

def text
  response.map { |r| r["candidates"].first["content"]["parts"].first["text"] }.join
end

#to_hObject Also known as: as_json



36
37
38
39
40
41
# File 'lib/flexi_admin/services/code_gen/gemini.rb', line 36

def to_h
  JSON.parse(text)
rescue StandardError
  puts "Error parsing JSON: #{text}"
  {}
end

#usageObject



44
45
46
# File 'lib/flexi_admin/services/code_gen/gemini.rb', line 44

def usage
  response.usage&.total_tokens
end