class YoutubeAudio::Search

Attributes

keywords[R]

Public Class Methods

new(keywords) click to toggle source
# File lib/youtube_audio/search.rb, line 7
def initialize(keywords)
  @keywords = keywords
end

Public Instance Methods

results() click to toggle source
# File lib/youtube_audio/search.rb, line 11
def results
  selector = '.section-list li ol.item-section li .yt-lockup-tile'
  search_url = 'https://www.youtube.com/results?search_query='
  @results ||= agent.get(search_url + CGI.escape(keywords))
                    .search(selector)
                    .map { |element| to_search_item(element) }
end

Private Instance Methods

agent() click to toggle source

@return [Mechanize]

# File lib/youtube_audio/search.rb, line 26
def agent
  @agent ||= ::Mechanize.new
  @agent.user_agent = user_agent
  @agent
end
to_search_item(element) click to toggle source
# File lib/youtube_audio/search.rb, line 21
def to_search_item(element)
  SearchItem.new(element)
end
user_agent() click to toggle source
# File lib/youtube_audio/search.rb, line 32
def user_agent
  'Mozilla/4.0 (compatible; MSIE 8.0; ' \
    'Windows NT 6.0; WOW64; Trident/4.0; SLCC1)'
end