| 115 | # @api private |
| 116 | |
| 117 | def available_assets |
| 118 | @available_assets ||= net_http_start('api.github.com') do |http| |
| 119 | json = http.get('/repos/seleniumhq/selenium/releases').body |
| 120 | all_assets = JSON.parse(json).map { |release| release['assets'] }.flatten |
| 121 | server_assets = all_assets.select { |asset| asset['name'].match(/selenium-server-(\d+\.\d+\.\d+)\.jar/) } |
| 122 | server_assets.to_h { |asset| [asset.delete('name'), asset] } |
| 123 | end |
| 124 | end |
| 125 | |
| 126 | def net_http_start(address, &block) |
| 127 | http_proxy = ENV.fetch('http_proxy', nil) || ENV.fetch('HTTP_PROXY', nil) |