module Gish::Configuration

Attributes

access_token[RW]
browser[RW]
editor[RW]
repository[RW]

Public Class Methods

extended(base) click to toggle source
# File lib/gish/configuration.rb, line 8
def self.extended(base)
  base.defaults
end

Public Instance Methods

access_token=(access_token) click to toggle source
# File lib/gish/configuration.rb, line 16
def access_token=(access_token)
  @access_token = access_token
end
browser=(browser) click to toggle source
# File lib/gish/configuration.rb, line 24
def browser=(browser)
  @browser = browser
end
defaults() click to toggle source
# File lib/gish/configuration.rb, line 32
def defaults
  @config_file = File.expand_path('~/.gish')
  self.access_token = retrieve_or_generate_token
  self.editor = (ENV['GISH_EDITOR'] || ENV['EDITOR']) || 'vi'
  self.browser = (ENV['GISH_BROWSER'] || ENV['BROWSER']) || 'open'
  self.repository = default_repository
end
editor=(editor) click to toggle source
# File lib/gish/configuration.rb, line 12
def editor=(editor)
  @editor = editor
end
github_url() click to toggle source
# File lib/gish/configuration.rb, line 28
def github_url
  "http://github.com/#{@repository}"
end
repository=(repository) click to toggle source
# File lib/gish/configuration.rb, line 20
def repository=(repository)
  @repository = repository
end

Private Instance Methods

default_repository() click to toggle source
# File lib/gish/configuration.rb, line 42
def default_repository
  url = %x(git config --get remote.origin.url)
  url.match(/:(.*)\.git/)[1] rescue ''
end
retrieve_or_generate_token() click to toggle source
# File lib/gish/configuration.rb, line 47
def retrieve_or_generate_token
   return File.read(@config_file) if File.exists?(@config_file)

   puts 'First time using Gish? Sweet! Please go to https://github.com/settings/applications and create a "Personal Access Token" to continue'
   token = prompt('Token: ')

   File.open(@config_file, 'w+') { |file| file.write(token) }
 end