class Cp8Cli::GlobalConfig

Constants

LEGACY_PATH
PATH

Attributes

store[R]

Public Class Methods

new(store = nil) click to toggle source
# File lib/cp8_cli/global_config.rb, line 8
def initialize(store = nil)
  @store = store || initialize_store
end

Public Instance Methods

github_token() click to toggle source
# File lib/cp8_cli/global_config.rb, line 12
def github_token
  @_github_token ||= store[:github_token] || env_github_token || configure_github_token
end

Private Instance Methods

configure_github_token() click to toggle source
# File lib/cp8_cli/global_config.rb, line 47
def configure_github_token
  store.save(
    :github_token,
    Command.ask("Input GitHub access token with repo access scope (https://github.com/settings/tokens):")
  )
end
default_store() click to toggle source
# File lib/cp8_cli/global_config.rb, line 35
def default_store
  @_default_store ||= ConfigStore.new(PATH)
end
env_github_token() click to toggle source
# File lib/cp8_cli/global_config.rb, line 43
def env_github_token
  ENV["OCTOKIT_ACCESS_TOKEN"]
end
initialize_store() click to toggle source
# File lib/cp8_cli/global_config.rb, line 20
def initialize_store
  migrate_legacy_store if uses_legacy_store?

  default_store
end
legacy_store() click to toggle source
# File lib/cp8_cli/global_config.rb, line 39
def legacy_store
  @_legacy_store ||= ConfigStore.new(LEGACY_PATH)
end
migrate_legacy_store() click to toggle source
# File lib/cp8_cli/global_config.rb, line 30
def migrate_legacy_store
  Command.say("#{LEGACY_PATH} was deprecated, moving to #{PATH}")
  legacy_store.move_to(PATH)
end
uses_legacy_store?() click to toggle source
# File lib/cp8_cli/global_config.rb, line 26
def uses_legacy_store?
  legacy_store.exist?
end