Sha256: b6f5b66bff0610efe2c7951cc59801c362b75cfb347d289310a30f37f3b8d537

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

#!/usr/bin/env ruby

require File.expand_path '../lib/githubrepo', File.dirname(__FILE__)
require 'commander/import'

program :name, 'githubrepo'
program :version, '0.2.2'
program :description, 'Create GitHub repositories from the command line.

OSX: repository URL is automatically copied to clipboard.
Linux: install xclip (sudo apt-get xclip) and URL will auto copy to clipboard.
Windows: run "gem install ffi" and URL will auto copy to clipboard.'

program :help, 'Author', 'Elikem Adadevoh <elikem@gmail.com>'

command :create do |c|
  c.syntax = 'githubrepo create [options]'

  c.description = 'githubrepo create REPO_NAME -d REPO_DESCRIPTION'

  c.example 'usage', 'githubrepo create REPO_NAME'
  c.example 'usage', 'githubrepo REPO_NAME'
  c.example 'description', 'githubrepo create REPO_NAME -d "short description"'

  c.option '--description STRING', String, 'A short description of the repository'

  c.action do |args, options|
    repository = args.shift
    description = options.description

    # check for repository argument
    if repository.nil?
      puts 'repository'
      puts 'invalid option -- githubrepo create REPO_NAME'
      exit
    end

    # get and check name
    username = ask "'Username for 'https://github.com': "
    if username.length == 0
      puts 'invalid option -- please enter a username'
      exit
    end

    # set password
    password = ask('Password: ') { |char| char.echo = false }

    # package attributes for http api payload
    cli({ :repository => repository, :description => description, :username => username, :password => password })
  end
end

# set default action for gem
default_command :create

def cli(attributes)
  Githubrepo.create(attributes)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
githubrepo-0.2.2 bin/githubrepo