class Selenium::Server
def available_assets
def available_assets @available_assets ||= net_http_start('api.github.com') do |http| json = http.get('/repos/seleniumhq/selenium/releases').body all_assets = JSON.parse(json).map { |release| release['assets'] }.flatten server_assets = all_assets.select { |asset| asset['name'].match(/selenium-server-(\d+\.\d+\.\d+)\.jar/) } server_assets.each_with_object({}) { |asset, hash| hash[asset.delete('name')] = asset } end end