def github
@github ||= begin
load_gh
Tools::Github.new(session.config['github']) do |g|
g.note = "token for fetching dependencies for #{slug} (Travis CI)"
g.explode = explode?
g.ask_login = proc { ask("Username: ") }
g.ask_password = proc { |user| ask("Password for #{user}: ") { |q| q.echo = "*" } }
g.ask_otp = proc { |user| ask("Two-factor authentication code for #{user}: ") }
g.login_header = proc { login_header }
g.debug = proc { |log| debug(log) }
g.after_tokens = proc { g.explode = true and error("no suitable github token found") }
end
end
end