Module: Arduino::Library::Finder::FinderMethods

Included in:
Arduino::Library::Finder
Defined in:
lib/arduino/library/finder.rb

Instance Method Summary collapse

Instance Method Details

#find_library(model, version: :latest) ⇒ Model Also known as: find

Finds a given model with only partial data by searching in the Arduino Database.

model = Arduino::Library::Finder.find({ name: 'AudioZero'} )
# => <Arduino::Library::Model#0x3242gfa2...>

model.url # => 'https://github.com/.......'

Raises:

Parameters:

  • with a partial information only, such as the name.

Returns:

  • a found model with #url provided, if found, nil otherwise.



25
26
27
28
29
30
31
32
33
34
# File 'lib/arduino/library/finder.rb', line 25

def find_library(model, version: :latest)
  raise ArgumentError, 'Model argument is required' unless model
  model = Model.from(model) unless model.is_a?(Model)
  return model unless model&.partial?

  query = construct_query(model)
  return nil if query.empty?

  get_library_version(query, version: version)
end