class PlayStoreParser
Public Instance Methods
parse_play_store(package)
click to toggle source
# File lib/android_app_index.rb, line 38 def parse_play_store(package) page = get_page package { icon_url: get_icon_url(page), name: get_name(page), package: package, } end
Private Instance Methods
get_icon_url(page)
click to toggle source
# File lib/android_app_index.rb, line 21 def get_icon_url(page) images = page.search('img.cover-image').map do |node| { alt: node.attribute('alt').value, url: "https:#{node.attribute('src').value}" } end images.select { |image| image[:alt] == 'Cover art' }[0][:url] end
get_name(page)
click to toggle source
# File lib/android_app_index.rb, line 34 def get_name(page) replace_dash page.search('div.id-app-title').first.inner_html end
get_page(package)
click to toggle source
# File lib/android_app_index.rb, line 17 def get_page(package) Nokogiri::HTML(open("https://play.google.com/store/apps/details?id=#{package}&hl=en")) end
replace_dash(name)
click to toggle source
TODO: Figure out how to properly handle charset.
# File lib/android_app_index.rb, line 30 def replace_dash(name) name.gsub('–', '-') end