Module: Genius::Search

Defined in:
lib/genius/api/search.rb

Overview

Genius::Search module provides methods to work with Genius search database

Class Method Summary collapse

Class Method Details

.search(token: nil, query: nil, search_by: nil) ⇒ Hash, ...

Searches Genius for songs, artists, and other content. Optionally filters results by key using deep_find.

Parameters:

Returns:



13
14
15
16
17
18
19
20
21
# File 'lib/genius/api/search.rb', line 13

def search(token: nil, query: nil, search_by: nil)
  return if token.nil? && !Auth.authorized?.nil?

  Errors.validate_token(token) unless token.nil?

  response = HTTParty.get("#{Api::RESOURCE}/search?q=#{query}&access_token=#{token_ext(token)}").body
  search = JSON.parse(response)
  search_by ? search.deep_find(search_by) : search
end