class JarvisbotSongfinder::SearchQuery
Reponsible for handling search (words) based requests
JarvisbotSongfinder::SearchQuery.new("Paramore Misery").track.length # => 211
Public Class Methods
new(query, config: JarvisbotSongfinder.configuration)
click to toggle source
# File lib/jarvisbot_songfinder/helpers/search_query.rb, line 8 def initialize(query, config: JarvisbotSongfinder.configuration) @query = query @config = config @provider = select_provider end
Public Instance Methods
track()
click to toggle source
# File lib/jarvisbot_songfinder/helpers/search_query.rb, line 14 def track @provider end
Private Instance Methods
select_provider()
click to toggle source
# File lib/jarvisbot_songfinder/helpers/search_query.rb, line 20 def select_provider provider = Provider.available_providers.find do |p| p.from_search @query, config: @config end provider.nil? ? UnknownSearchProvider.new : provider.from_search(@query, config: @config) end