Sha256: 876f581afa4f079ecfd56163f5cfcac53863f2535c00b6334ecf93ab009b7320

Contents?: true

Size: 900 Bytes

Versions: 35

Compression:

Stored size: 900 Bytes

Contents

# frozen_string_literal: true

require "octokit"

require_relative "../base"
require_relative "../../exception_handler"
require_relative "auth"
require_relative "../../utils"

module Neetob
  class CLI
    module Github
      class Base < CLI::Base
        include Utils
        attr_accessor :client, :access_token

        def initialize
          super()
          auth_client = Auth.new(**read_and_parse_auth_params_from_env)
          unless auth_client.token_persisted?
            auth_client.start_oauth2_device_flow
          end
          @access_token = auth_client.access_token
          @client = Octokit::Client.new(access_token:)
        end

        private

          def read_and_parse_auth_params_from_env
            hash_with_keys_of_string_type = JSON.parse(ENV["AUTH_PARAMS"])
            symbolize_keys(hash_with_keys_of_string_type)
          end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
neetob-0.5.51 lib/neetob/cli/github/base.rb
neetob-0.5.50 lib/neetob/cli/github/base.rb
neetob-0.5.49 lib/neetob/cli/github/base.rb
neetob-0.5.48 lib/neetob/cli/github/base.rb
neetob-0.5.47 lib/neetob/cli/github/base.rb
neetob-0.5.46 lib/neetob/cli/github/base.rb
neetob-0.5.45 lib/neetob/cli/github/base.rb
neetob-0.5.44 lib/neetob/cli/github/base.rb
neetob-0.5.43 lib/neetob/cli/github/base.rb
neetob-0.5.42 lib/neetob/cli/github/base.rb
neetob-0.5.41 lib/neetob/cli/github/base.rb
neetob-0.5.40 lib/neetob/cli/github/base.rb
neetob-0.5.39 lib/neetob/cli/github/base.rb
neetob-0.5.38 lib/neetob/cli/github/base.rb
neetob-0.5.37 lib/neetob/cli/github/base.rb
neetob-0.5.36 lib/neetob/cli/github/base.rb
neetob-0.5.35 lib/neetob/cli/github/base.rb
neetob-0.5.34 lib/neetob/cli/github/base.rb
neetob-0.5.33 lib/neetob/cli/github/base.rb
neetob-0.5.32 lib/neetob/cli/github/base.rb