Sha256: e0bad264d6440164aa6471ad9418e5e9e37d94d143a8bea4868d9246f1f5fa05

Contents?: true

Size: 823 Bytes

Versions: 3

Compression:

Stored size: 823 Bytes

Contents

require 'octokit'
require 'octoauth'

module Targit
  ##
  # Helper module to load a GitHub API client object
  module Client
    private

    def client
      @client ||= _client
    end

    def _client
      auth = Octoauth.new octoauth_options
      Octokit::Client.new({
        access_token: auth.token,
        api_endpoint: @options[:api_endpoint],
        web_endpoint: @options[:api_endpoint],
        auto_paginate: true
      }.compact)
    end

    def octoauth_options
      {
        note: 'targit',
        files: authfiles,
        autosave: @options[:autosave] || true,
        api_endpoint: @options[:api_endpoint],
        scopes: ['public_repo']
      }
    end

    def authfiles
      return [:default] unless @options[:authfile]
      @authfiles ||= @options[:authfile].split(',')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
targit-2.4.1 lib/targit/client.rb
targit-2.4.0 lib/targit/client.rb
targit-2.3.0 lib/targit/client.rb