Class: Geet::GitHub::RemoteRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/geet/git_hub/remote_repository.rb

Instance Method Summary collapse

Constructor Details

#initialize(local_repository, api_helper) ⇒ RemoteRepository

Returns a new instance of RemoteRepository.



11
12
13
14
# File 'lib/geet/git_hub/remote_repository.rb', line 11

def initialize(local_repository, api_helper)
  @local_repository = local_repository
  @api_helper = api_helper
end

Instance Method Details

#collaboratorsObject



16
17
18
19
20
21
# File 'lib/geet/git_hub/remote_repository.rb', line 16

def collaborators
  url = "https://api.github.com/repos/#{@local_repository.owner}/#{@local_repository.repo}/collaborators"
  response = @api_helper.send_request(url, multipage: true)

  response.map { |user_entry| user_entry.fetch('login') }
end

#create_gist(filename, content, description: nil, publik: false) ⇒ Object



30
31
32
# File 'lib/geet/git_hub/remote_repository.rb', line 30

def create_gist(filename, content, description: nil, publik: false)
  Geet::GitHub::Gist.create(@local_repository, filename, content, @api_helper, description: description, publik: publik)
end

#create_issue(title, description) ⇒ Object



34
35
36
# File 'lib/geet/git_hub/remote_repository.rb', line 34

def create_issue(title, description)
  Geet::GitHub::Issue.create(@local_repository, title, description, @api_helper)
end

#create_pr(title, description, head: @local_repository.current_head) ⇒ Object



42
43
44
# File 'lib/geet/git_hub/remote_repository.rb', line 42

def create_pr(title, description, head: @local_repository.current_head)
  Geet::GitHub::PR.create(@local_repository, title, description, head, @api_helper)
end

#labelsObject



23
24
25
26
27
28
# File 'lib/geet/git_hub/remote_repository.rb', line 23

def labels
  url = "https://api.github.com/repos/#{@local_repository.owner}/#{@local_repository.repo}/labels"
  response = @api_helper.send_request(url, multipage: true)

  response.map { |label_entry| label_entry['name'] }
end

#list_issuesObject



38
39
40
# File 'lib/geet/git_hub/remote_repository.rb', line 38

def list_issues
  Geet::GitHub::Issue.list(@local_repository, @api_helper)
end