Skip to content

Instantly share code, notes, and snippets.

@kuboon
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kuboon/48f09d0bc2748db9e84a to your computer and use it in GitHub Desktop.
Save kuboon/48f09d0bc2748db9e84a to your computer and use it in GitHub Desktop.
Ruby/Rails supported versions matrix
# gem install octokit
require 'octokit'
require 'yaml'
TARGET = 'rails/rails'
def main
md_table 'rails', tags.lazy.map(&method(:pair)).take_while{|k,v| v}.to_h
end
def md_table(name, hash)
columns = hash.values.flatten.uniq.sort
lines = ["#{name}|#{columns.join('|')}"]
lines << (["---"] * (columns.length + 1)).join('|')
lines + hash.map{|k,v| "#{k}|" + columns.map{|c| v.include?(c) ? 'o' : ''}.join('|')}
end
def tags
Octokit.auto_paginate = true
Octokit.tags(TARGET).reject{|tag| tag['name'].include?('rc') || tag['name'].include?('beta') }
end
def pair(tag)
[tag['name'], rvm_list_on(tag['commit']['sha'])]
end
def rvm_list_on(sha)
travis = yaml("https://raw.githubusercontent.com/#{TARGET}/#{sha}/.travis.yml")
return nil if travis.nil? || travis['rvm'].nil?
travis['rvm'].map(&:to_s)
end
def yaml(url)
YAML.load(Net::HTTP.get(URI.parse(url)))
end
puts main
rails 1.8.7 1.9.2 1.9.3 2.0.0 2.1 2.1.1 2.2 jruby jruby-19mode rbx rbx-19mode rbx-2 ruby-head
v4.2.0 o o o o o o
v4.1.9 o o o o o o o
v4.1.8 o o o o o o
v4.1.7.1 o o o o o o
v4.1.7 o o o o o o
v4.1.6 o o o o o o
v4.1.5 o o o o o o
v4.1.4 o o o o o o
v4.1.3 o o o o o o
v4.1.2 o o o o o o
v4.1.1 o o o o o
v4.1.0 o o o o o
v4.0.13 o o o o o o o
v4.0.12 o o o o o o
v4.0.11.1 o o o o o o
v4.0.11 o o o o o o
v4.0.10 o o o o o o
v4.0.9 o o o o o o
v4.0.8 o o o o o o
v4.0.7 o o o o o o
v4.0.6 o o o o o o
v4.0.5 o o o o o
v4.0.4 o o o o o
v4.0.3 o o o o
v4.0.2 o o o o
v4.0.1 o o o o
v4.0.0 o o
v3.2.21 o o o o
v3.2.20 o o o o
v3.2.19 o o o o
v3.2.18 o o o o
v3.2.17 o o o o
v3.2.16 o o o o
v3.2.15 o o o o
v3.2.14 o o o o
v3.2.13 o o o o
v3.2.12 o o o
v3.2.11 o o o
v3.2.10 o o o
v3.2.9 o o o
v3.2.8 o o o
v3.2.7 o o o
v3.2.6 o o o
v3.2.5 o o o
v3.2.4 o o o
v3.2.3 o o o
v3.2.2 o o o
v3.2.1 o o o
v3.2.0 o o o
v3.1.12 o o o
v3.1.11 o o o
v3.1.10 o o o
v3.1.9 o o o
v3.1.8 o o o
v3.1.7 o o o
v3.1.6 o o o
v3.1.5 o o o
v3.1.4 o o o
v3.1.3 o o o
v3.1.2 o o o
v3.1.1 o o o
v3.1.0 o o o
v3.0.20 o o o
v3.0.19 o o o
v3.0.18 o o o
v3.0.17 o o o
v3.0.16 o o o
v3.0.15 o o o
v3.0.14 o o o
v3.0.13 o o o
v3.0.12 o o o
v3.0.11 o o o
v3.0.10 o o
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment