From 69599c886c1801bf9af805e2ec57a0f88bd9628e Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sun, 19 Jan 2020 12:53:09 +0100 Subject: [PATCH] Add a script to generate a list of available version from RubyInstaller --- generate-ruby-installer-versions.rb | 27 +++++++++++++++++++++++++++ ruby-installer-versions.js | 23 +++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 generate-ruby-installer-versions.rb create mode 100644 ruby-installer-versions.js diff --git a/generate-ruby-installer-versions.rb b/generate-ruby-installer-versions.rb new file mode 100644 index 0000000..c68c96f --- /dev/null +++ b/generate-ruby-installer-versions.rb @@ -0,0 +1,27 @@ +require 'net/http' +require 'yaml' +require 'json' + +url = 'https://raw.githubusercontent.com/oneclick/rubyinstaller.org-website/master/_data/downloads.yaml' +entries = YAML.load(Net::HTTP.get(URI(url)), symbolize_names: true) + +versions = entries.select { |entry| + entry[:filetype] == 'rubyinstaller7z' and + entry[:name].include?('(x64)') +}.group_by { |entry| + entry[:name][/Ruby (\d+\.\d+\.\d+)/, 1] +}.map { |version, builds| + unless builds.sort_by { |build| build[:name] } == builds.reverse + raise "not sorted as expected for #{version}" + end + [version, builds.first] +}.sort_by { |version, entry| + version +}.select { |version, entry| + version >= "2.4" +}.map { |version, entry| + [version, entry[:href]] +}.to_h + +js = "export const versions = #{JSON.pretty_generate(versions)}\n" +File.write 'ruby-installer-versions.js', js diff --git a/ruby-installer-versions.js b/ruby-installer-versions.js new file mode 100644 index 0000000..f629161 --- /dev/null +++ b/ruby-installer-versions.js @@ -0,0 +1,23 @@ +export const versions = { + "2.4.1": "https://github.com/oneclick/rubyinstaller2/releases/download/2.4.1-2/rubyinstaller-2.4.1-2-x64.7z", + "2.4.2": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.2-2/rubyinstaller-2.4.2-2-x64.7z", + "2.4.3": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.3-2/rubyinstaller-2.4.3-2-x64.7z", + "2.4.4": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.4-2/rubyinstaller-2.4.4-2-x64.7z", + "2.4.5": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.5-1/rubyinstaller-2.4.5-1-x64.7z", + "2.4.6": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.6-1/rubyinstaller-2.4.6-1-x64.7z", + "2.4.7": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.7-1/rubyinstaller-2.4.7-1-x64.7z", + "2.4.9": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.9-1/rubyinstaller-2.4.9-1-x64.7z", + "2.5.0": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.0-2/rubyinstaller-2.5.0-2-x64.7z", + "2.5.1": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.1-2/rubyinstaller-2.5.1-2-x64.7z", + "2.5.3": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.3-1/rubyinstaller-2.5.3-1-x64.7z", + "2.5.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.5-1/rubyinstaller-2.5.5-1-x64.7z", + "2.5.6": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.6-1/rubyinstaller-2.5.6-1-x64.7z", + "2.5.7": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.7-1/rubyinstaller-2.5.7-1-x64.7z", + "2.6.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.0-1/rubyinstaller-2.6.0-1-x64.7z", + "2.6.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.1-1/rubyinstaller-2.6.1-1-x64.7z", + "2.6.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.2-1/rubyinstaller-2.6.2-1-x64.7z", + "2.6.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.3-1/rubyinstaller-2.6.3-1-x64.7z", + "2.6.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.4-1/rubyinstaller-2.6.4-1-x64.7z", + "2.6.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.5-1/rubyinstaller-2.6.5-1-x64.7z", + "2.7.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.0-1/rubyinstaller-2.7.0-1-x64.7z" +}