class Octokom::Client
Constants
- KEY
- URL
Attributes
token[R]
Public Class Methods
authenticate()
click to toggle source
# File lib/octokom/client.rb, line 13 def self.authenticate new.authenticate end
Public Instance Methods
authenticate()
click to toggle source
Use the existing credentials form the ~/.netrc file to verify API requests to GitHub. When no credentials exist, ask for login and password to request a new token from GitHub.
# File lib/octokom/client.rb, line 20 def authenticate _, @token = netrc[KEY] unless token login, password = ask_for_credentials create_authorization(login, password) end self end
client()
click to toggle source
# File lib/octokom/client.rb, line 31 def client require 'octokit' Octokit::Client.new(access_token: token) end
Private Instance Methods
api_note()
click to toggle source
# File lib/octokom/client.rb, line 91 def api_note "Octokom #{hostname}@#{Time.now.usec}" end
ask_for_credentials()
click to toggle source
# File lib/octokom/client.rb, line 54 def ask_for_credentials login = ask_for_login password = ask_for_password puts # newline [login, password] end
ask_for_login()
click to toggle source
# File lib/octokom/client.rb, line 61 def ask_for_login print 'GitHub Login: ' STDIN.gets.chomp end
ask_for_password()
click to toggle source
# File lib/octokom/client.rb, line 66 def ask_for_password print 'Password: ' STDIN.noecho(&:gets).chomp end
data()
click to toggle source
# File lib/octokom/client.rb, line 46 def data @data ||= Netrc.parse(Netrc.lex(file.each_line.to_a)) end
file()
click to toggle source
# File lib/octokom/client.rb, line 42 def file @file ||= File.open(path, File::RDWR|File::CREAT, 0600) end
hostname()
click to toggle source
# File lib/octokom/client.rb, line 95 def hostname `hostname`.chomp end
netrc()
click to toggle source
# File lib/octokom/client.rb, line 50 def netrc @netrc ||= Netrc.new(path, data) end
path()
click to toggle source
# File lib/octokom/client.rb, line 38 def path @path ||= Netrc.default_path end
save_token_to_netrc(login)
click to toggle source
# File lib/octokom/client.rb, line 86 def save_token_to_netrc(login) netrc[KEY] = login, @token netrc.save end