class VkMusic::WebParser::Search
Audio
search page parser
Public Instance Methods
audios()
click to toggle source
Audios found @return [Array<Audio>]
# File lib/vk_music/web_parser/search.rb, line 9 def audios title_index = search_result_blocks.find_index { |node| node.inner_text.include?('Все аудиозаписи') } return [] if title_index.nil? block = search_result_blocks[title_index + 1] Utility::AudioItemsParser.call(block, @client_id) end
audios_all_path()
click to toggle source
Path to page with all results @return [String?]
# File lib/vk_music/web_parser/search.rb, line 20 def audios_all_path title = search_result_blocks.find { |node| node.inner_text.include?('Все аудиозаписи') } return if title.nil? title.at_css('a').attribute('href').value end
playlists()
click to toggle source
Playlists found @return [Array<Playlist>]
# File lib/vk_music/web_parser/search.rb, line 29 def playlists title_index = search_result_blocks.find_index { |node| node.inner_text.include?('Альбомы') } return [] if title_index.nil? block = search_result_blocks[title_index + 1] block.css('.audioPlaylists__item').map do |elem| Utility::PlaylistNodeParser.call(elem) end end
playlists_all_path()
click to toggle source
Path to page with all results @return [String?]
# File lib/vk_music/web_parser/search.rb, line 42 def playlists_all_path title = search_result_blocks.find { |node| node.inner_text.include?('Альбомы') } return if title.nil? title.at_css('a').attribute('href').value end
Private Instance Methods
search_result_blocks()
click to toggle source
# File lib/vk_music/web_parser/search.rb, line 51 def search_result_blocks @search_result_blocks ||= node.css('.AudioBlock').children end