lib/git/semaphore.rb in git-semaphore-2.1.0 vs lib/git/semaphore.rb in git-semaphore-2.2.0
- old
+ new
@@ -1,18 +1,21 @@
require 'uri'
require 'date'
require 'json'
+require 'time'
require 'openssl'
require 'net/http'
require 'fileutils'
require 'rugged'
-class Rugged::Repository
- def owner() File.basename(File.dirname(workdir)) ; end
- def name() File.basename(workdir) ; end
- def full_name() "#{owner}/#{name}" ; end
+module Rugged
+ class Repository
+ def owner() File.basename(File.dirname(workdir)); end
+ def name() File.basename(workdir); end
+ def full_name() "#{owner}/#{name}"; end
+ end
end
module Git
module Semaphore
@@ -22,61 +25,61 @@
end
end
def self.cache_dir
@cache_dir ||= begin
- File.join(self.home_dir, '.git', 'semaphore').tap do |cache_dir|
+ File.join(home_dir, '.git', 'semaphore').tap do |cache_dir|
FileUtils.mkdir_p(cache_dir)
end
end
end
- def self.cache_dir_for identifier
- File.join(self.cache_dir, identifier).tap do |cache_dir|
+ def self.cache_dir_for(identifier)
+ File.join(cache_dir, identifier).tap do |cache_dir|
FileUtils.mkdir_p(cache_dir)
end
end
def self.empty_cache_dir
- FileUtils.rm_r Dir.glob(File.join(self.cache_dir, '*'))
+ FileUtils.rm_r Dir.glob(File.join(cache_dir, '*'))
end
- def self.from_json_cache path
- if File.exists? path
+ def self.from_json_cache(path, refresh = false)
+ if !refresh && File.exist?(path)
JSON.parse(File.read(path))
else
yield.tap do |content|
File.open(path, 'w') { |file| file.write content.to_json }
end
end
end
def self.git_repo
- begin
- Rugged::Repository.new(Dir.pwd)
- rescue Rugged::RepositoryError
- nil
- end
+ Rugged::Repository.new(Dir.pwd)
+ rescue Rugged::RepositoryError
+ nil
end
def self.env_auth_token
@env_auth_token ||= ENV['SEMAPHORE_AUTH_TOKEN']
end
+ def self.global_auth_token
+ Rugged::Config.global['semaphore.authtoken']
+ end
+
def self.git_auth_token
- git_repo && git_repo.config['semaphore.authtoken']
+ git_repo&.config&.get('semaphore.authtoken')
end
def self.auth_token
- git_auth_token || env_auth_token
+ git_auth_token || global_auth_token || env_auth_token
end
end
end
require 'git/semaphore/version'
-require 'git/semaphore/banner'
-require 'git/semaphore/copyright'
require 'git/semaphore/api'
require 'git/semaphore/api_cache'
require 'git/semaphore/api_enrich'