class Startling::Github::Repo

Attributes

api[R]
name[R]

Public Class Methods

all() click to toggle source
# File lib/startling/github/repo.rb, line 39
def self.all
  @all ||= Startling::REPOS.map { |name| new(name) }
end
new(name, api) click to toggle source
# File lib/startling/github/repo.rb, line 6
def initialize(name, api)
  @name = name
  @api = api
end

Public Instance Methods

attributes() click to toggle source
# File lib/startling/github/repo.rb, line 11
def attributes
  @attributes ||= api.repository_attributes(name)
end
default_branch() click to toggle source
# File lib/startling/github/repo.rb, line 15
def default_branch
  attributes.default_branch
end
open_pull_request(title: nil, body: nil, branch: nil) click to toggle source
# File lib/startling/github/repo.rb, line 32
def open_pull_request(title: nil, body: nil, branch: nil)
  pull_request = api.open_pull_request(repo_name: name, destination_branch: default_branch,
    branch: branch, title: title, body: body)
  return pull_request if pull_request
  pull_request(branch) # In case this is already open
end
pull_request(branch) click to toggle source
# File lib/startling/github/repo.rb, line 23
def pull_request(branch)
  pull_requests.find { |pr| pr.branch == branch }
end
pull_requests() click to toggle source
# File lib/startling/github/repo.rb, line 19
def pull_requests
  @pull_requests ||= api.pull_requests(name)
end
set_labels_for_issue(issue_id:, labels:) click to toggle source
# File lib/startling/github/repo.rb, line 27
def set_labels_for_issue(issue_id:, labels:)
  labels = Array(labels)
  api.set_labels_for_issue(repo_name: name, issue_id: issue_id, labels: labels)
end