bin/github-backup
#!/usr/bin/env ruby
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'github-backup'
require 'optparse'
options = {}
optionparser = OptionParser.new do |opts|
opts.banner = "Usage: github-backup [options] username [local_backup_root]"
opts.on("-t", "--token TOKEN", "Github API Token") do |t|
options[:token] = t
end
opts.on("--gists", "Backup username's gists") do |g|
options[:gists] = true
end
opts.on("--starred-gists", "Backup authenticated username's starred gists") do |g|
options[:starred_gists] = true
end
opts.on("--wikis", "Backup username's wikis") do |g|
options[:wikis] = true
end
end
optionparser.parse!
unless ARGV.length >= 1
puts optionparser.help
exit 1
end
username = ARGV.shift
options[:backup_root] = ARGV.shift
backup = GithubBackup::Backup.new(username, options)
backup.execute