class Chromedriver::Helper::GoogleCodeParser
Constants
- BUCKET_URL
Attributes
newest_download_version[R]
platform[R]
source[R]
Public Class Methods
new(platform, open_uri_provider=OpenURI)
click to toggle source
# File lib/chromedriver/helper/google_code_parser.rb, line 12 def initialize(platform, open_uri_provider=OpenURI) @platform = platform @source = open_uri_provider.open_uri(BUCKET_URL) @newest_download_version = Gem::Version.new(open_uri_provider.open_uri(URI.join(BUCKET_URL, "LATEST_RELEASE")).read) end
Public Instance Methods
downloads()
click to toggle source
# File lib/chromedriver/helper/google_code_parser.rb, line 18 def downloads @downloads ||= begin doc = Nokogiri::XML.parse(source) items = doc.css("Contents Key").collect {|k| k.text } items.reject! {|k| !(/chromedriver_#{platform}/===k) } items.map {|k| "#{BUCKET_URL}/#{k}"} end end
version_download_url(version)
click to toggle source
# File lib/chromedriver/helper/google_code_parser.rb, line 27 def version_download_url(version) gem_version = Gem::Version.new(version) downloads.find { |download_url| version_of(download_url) == gem_version } end
Private Instance Methods
grab_version_string_from(url)
click to toggle source
# File lib/chromedriver/helper/google_code_parser.rb, line 38 def grab_version_string_from url # assumes url is of form similar to http://chromedriver.storage.googleapis.com/2.3/chromedriver_mac32.zip url.split("/")[3] end
version_of(url)
click to toggle source
# File lib/chromedriver/helper/google_code_parser.rb, line 34 def version_of url Gem::Version.new grab_version_string_from(url) end