module AppleMusic::Search
Public Class Methods
search(**options)
click to toggle source
e.g. AppleMusic::Search.search
(term: 'aaamyyy') developer.apple.com/documentation/applemusicapi/search_for_catalog_resources
# File lib/apple_music/search.rb, line 15 def search(**options) options[:term] = format_term(options[:term]) if options[:term] storefront = Storefront.lookup(options.delete(:storefront)) response = AppleMusic.get("catalog/#{storefront}/search", options) SearchResult.new(response.body['results'] || {}) end
search_hints(**options)
click to toggle source
e.g. AppleMusic::Search.search_hints
(term: 'aaamyyy') developer.apple.com/documentation/applemusicapi/get_catalog_search_hints
# File lib/apple_music/search.rb, line 25 def search_hints(**options) options[:term] = format_term(options[:term]) if options[:term] storefront = Storefront.lookup(options.delete(:storefront)) response = AppleMusic.get("catalog/#{storefront}/search/hints", options) response.body.dig('results', 'terms') || [] end
Private Class Methods
format_term(term)
click to toggle source
# File lib/apple_music/search.rb, line 34 def format_term(term) term.is_a?(Array) ? term.join('+') : term end