Module: Tavily::Envelope

Included in:
CrawlResponse, ExtractResponse, MapResponse, ResearchTask, SearchResponse
Defined in:
lib/tavily/responses.rb

Overview

Mixin adding usage/credits/request_id/response_time accessors shared by every top-level response.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



42
43
44
45
# File 'lib/tavily/responses.rb', line 42

def self.included(base)
  base.attribute :response_time
  base.attribute :request_id
end

Instance Method Details

#creditsInteger?

Returns convenience accessor for usage.credits.

Returns:

  • (Integer, nil)

    convenience accessor for usage.credits.



54
55
56
# File 'lib/tavily/responses.rb', line 54

def credits
  usage&.credits
end

#usageUsage?

Returns credit usage details (when include_usage: true).

Returns:

  • (Usage, nil)

    credit usage details (when include_usage: true).



48
49
50
51
# File 'lib/tavily/responses.rb', line 48

def usage
  raw = self["usage"]
  raw.is_a?(Hash) ? Usage.new(raw) : nil
end