Module: Taxa::OpenTreeOfLife::TNRS::MatchNames

Included in:
Taxa::OpenTreeOfLife::TNRS
Defined in:
lib/taxa/open_tree_of_life/tnrs/match_names.rb

Overview

tnrs match_names api endpoint

Instance Method Summary collapse

Instance Method Details

#match_names(names, **parameters) ⇒ Object

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/taxa/open_tree_of_life/tnrs/match_names.rb', line 10

def match_names(names, **parameters)
  raise ArgumentError, 'names is required' if names.nil?

  context_name = parameters[:context_name]
  do_approximate_matching = parameters[:do_approximate_matching] || false
  include_suppressed = parameters[:include_suppressed]

  payload = {
    names: Array(names),
    context_name: context_name,
    do_approximate_matching: do_approximate_matching,
    include_suppressed: include_suppressed
  }.compact

  url = 'https://api.opentreeoflife.org/v3/tnrs/match_names'
  response = @http_client.post(url, JSON.generate(payload), 'Content-Type' => 'application/json')
  JSON.parse(response.body)
end