Class: Nous::Extractor::Jina

Inherits:
Command
  • Object
show all
Defined in:
lib/nous/extractor/jina.rb,
lib/nous/extractor/jina/client.rb

Defined Under Namespace

Classes: Client

Instance Method Summary collapse

Methods inherited from Command

call, #failure, #success

Constructor Details

#initialize(api_key: nil, timeout: 30, **client_options) ⇒ Jina

Returns a new instance of Jina.



6
7
8
# File 'lib/nous/extractor/jina.rb', line 6

def initialize(api_key: nil, timeout: 30, **client_options)
  @client = Client.new(api_key: api_key || ENV["JINA_API_KEY"], timeout:, **client_options)
end

Instance Method Details

#extract(record) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/nous/extractor/jina.rb', line 10

def extract(record)
  body = client.get(record.final_url)

  success(payload: ExtractedContent.new(
    title: body.dig("data", "title") || "",
    content: body.dig("data", "content") || ""
  ))
rescue Client::RequestError => e
  failure(ExtractionError.new(e.message))
end