ddollar/github-backup

View on GitHub
bin/github-backup

Summary

Maintainability
Test Coverage
#!/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