class Gub::Repository

Attributes

full_name[RW]
info[RW]

Public Class Methods

new(full_name) click to toggle source
# File lib/gub/repository.rb, line 5
def initialize full_name
  self.full_name = full_name
  # Strip .git from the name
  self.full_name = self.full_name.split('.').first
  if self.full_name.nil? || self.full_name.empty?
    Gub.log.fatal 'Unable to find repo name'
    exit 1
  else
    Gub.log.debug "Loading information for #{self.full_name}"
    self.info = Gub.github.repo(repo: self.full_name)
  end
end

Public Instance Methods

add_upstream() click to toggle source
# File lib/gub/repository.rb, line 46
def add_upstream
  Gub.git.remote('add', 'upstream', "https://github.com/#{self.parent}")
end
branches() click to toggle source
# File lib/gub/repository.rb, line 62
def branches
  Gub.git.branch()
end
browse() click to toggle source
# File lib/gub/repository.rb, line 66
def browse
  require 'launchy'
  ::Launchy.open("#{Gub.github.url}#{self.full_name}")
end
has_issues?() click to toggle source
# File lib/gub/repository.rb, line 22
def has_issues?
  self.info.has_issues
end
is_fork?() click to toggle source
# File lib/gub/repository.rb, line 50
def is_fork?
  self.info.fork
end
issue(id, action = :fetch, extra_args = nil) click to toggle source
# File lib/gub/repository.rb, line 33
def issue id, action = :fetch, extra_args = nil
  if self.has_issues?
    name = self.full_name
  else
    name = self.parent
  end
  Gub::Issue.new(name, id)
end
issues(params = {}) click to toggle source
# File lib/gub/repository.rb, line 26
def issues params = {}
  issues = []
  issues << Gub.github.issues(self.full_name, params) if self.has_issues?
  issues << Gub.github.issues(self.parent, params)
  issues.flatten!
end
name() click to toggle source
# File lib/gub/repository.rb, line 18
def name
  self.full_name.split('/').last
end
owner() click to toggle source
# File lib/gub/repository.rb, line 42
def owner
  @full_name.split('/').first
end
parent() click to toggle source
# File lib/gub/repository.rb, line 54
def parent
  self.info.parent.full_name.split('.').first if self.info.parent
end
sync() click to toggle source
# File lib/gub/repository.rb, line 58
def sync
  Gub.git.sync('upstream')
end