Download your latest 30 Github Gists to local directory
#!/usr/bin/env ruby
require 'open-uri'
require 'json'
print 'Github Username: '
username = gets.chomp
# get gists
puts 'Downloading gists list'
gists_str = open("https://api.github.com/users/#{username}/gists").read
gists = JSON.parse gists_str
gists.each_with_index do |gist, index|
puts "#{index+1}/#{gists.length} Downloading #{gist['url']}"
gist_str = open(gist['url']).read
gist = JSON.parse gist_str
dir = gist["id"]
Dir.mkdir dir unless Dir.exist? dir
gist["files"].each do |file_name, file_value|
File.open("#{dir}/#{file_name}", 'w') { |f| f.write file_value['content']}
end
end