module RapGenius
Constants
- VERSION
Public Class Methods
search(query, options = {})
click to toggle source
# File lib/rapgenius.rb, line 16 def self.search(query, options = {}) response = fetch(build_api_url("/search"), { q: query }.merge(options)) response["response"]["hits"].map do |song| result = song["result"] Song.new( id: result["id"], name: result["name"], artist: Artist.new( id: result["primary_artist"]["id"], name: result["primary_artist"]["name"], type: :primary ), title: result["title"] ) end end
search_by_artist(query)
click to toggle source
# File lib/rapgenius.rb, line 35 def self.search_by_artist(query) self.search(query, field: "primary_artist_name") end
search_by_lyrics(query)
click to toggle source
# File lib/rapgenius.rb, line 43 def self.search_by_lyrics(query) self.search(query, field: "lyrics") end
search_by_title(query)
click to toggle source
# File lib/rapgenius.rb, line 39 def self.search_by_title(query) self.search(query, field: "title") end