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