class Unixoid::Github

Constants

GITHUB_URL
REPO_NAME

Public Class Methods

create_repo() click to toggle source
# File lib/unixoid/github.rb, line 15
def self.create_repo
  new.create_repo
end
new() click to toggle source
# File lib/unixoid/github.rb, line 11
def initialize
  @runner = Runner.new
end

Public Instance Methods

authenticated?() click to toggle source
# File lib/unixoid/github.rb, line 32
def authenticated?
  @response && @response['message'] != "Bad credentials"
end
create_repo() click to toggle source
# File lib/unixoid/github.rb, line 19
def create_repo
  parse @runner.run(command, params: {username: username, password: password})
  self
end
password() click to toggle source
# File lib/unixoid/github.rb, line 28
def password
  @password ||= ask_for_password
end
username() click to toggle source
# File lib/unixoid/github.rb, line 24
def username
  @username ||= ask_for_username
end

Private Instance Methods

ask_for_password() click to toggle source
# File lib/unixoid/github.rb, line 57
def ask_for_password
  puts "Please enter your Github password:"
  $stdin.noecho(&:gets).chomp
end
ask_for_username() click to toggle source
# File lib/unixoid/github.rb, line 52
def ask_for_username
  puts "Please enter your Github username:"
  $stdin.gets.chomp
end
command() click to toggle source
# File lib/unixoid/github.rb, line 38
def command
  %Q{curl -u :username::password #{GITHUB_URL} -d '{"name": "#{REPO_NAME}"}'}
end
parse(response) click to toggle source
# File lib/unixoid/github.rb, line 42
def parse(response)
  @response = parse_json(response)
end
parse_json(response) click to toggle source
# File lib/unixoid/github.rb, line 46
def parse_json(response)
  begin
    JSON.parse(response)
  rescue JSON::ParseError; end
end