class GhCompare::CommitCompare
Attributes
remote_origin[R]
Public Class Methods
new()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 7 def initialize @remote_origin = get_remote_origin end
Public Instance Methods
compare_before(num)
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 19 def compare_before(num) compare_url(head_before(num), head) end
compare_url(from, to)
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 15 def compare_url(from, to) remote_url + "/compare/#{from}...#{to}" end
remote_url()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 11 def remote_url remote_url? ? remote_origin.gsub(/\.git$/, '') : ssh_to_url end
Private Instance Methods
get_remote_origin()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 25 def get_remote_origin `git config --get remote.origin.url`.strip end
head()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 37 def head `git rev-parse HEAD`.strip end
head_before(num)
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 41 def head_before(num) `git rev-parse HEAD~#{num}`.strip end
remote_url?()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 29 def remote_url? URI.parse(remote_origin).is_a?(URI::HTTP) rescue false end
ssh_to_url()
click to toggle source
# File lib/gh_compare/commit_compare.rb, line 33 def ssh_to_url "https://github.com/#{remote_origin.gsub(/git@github.com:/, '').gsub(/\.git$/, '')}" end