class Travis::Client::AutoLogin
Constants
- NoTokenError
Attributes
session[R]
Public Class Methods
new(session, options = {})
click to toggle source
# File lib/travis/client/auto_login.rb, line 11 def initialize(session, options = {}) @session = session.session config_path = ENV.fetch('TRAVIS_CONFIG_PATH') { File.expand_path('.travis', Dir.home) } @config_file = options.fetch(:config_file) { File.expand_path('config.yml', config_path) } @auto_token = options.fetch(:auto_token) { true } @raise = options.fetch(:raise) { true } end
Public Instance Methods
authenticate()
click to toggle source
# File lib/travis/client/auto_login.rb, line 19 def authenticate return unless session.access_token = cli_token github.with_token { |t| session.github_auth(t) } end
cli_config()
click to toggle source
# File lib/travis/client/auto_login.rb, line 40 def cli_config @cli_config ||= YAML.load_file(@config_file) if File.exist? @config_file end
cli_token()
click to toggle source
# File lib/travis/client/auto_login.rb, line 33 def cli_token result = cli_config result &&= result['endpoints'] result &&= result[session.uri] result && result['access_token'] end
github()
click to toggle source
# File lib/travis/client/auto_login.rb, line 24 def github @github ||= Tools::Github.new(session.config['github']) do |g| g.explode = true g.manual_login = false g.auto_token = @auto_token g.after_tokens = proc { raise NoTokenError, "no suitable github token found" } if @raise end end