Class: Waff::Repository
- Inherits:
-
Object
- Object
- Waff::Repository
- Includes:
- HTTParty
- Defined in:
- lib/waff/repository.rb
Instance Method Summary collapse
- #assign_issue(number) ⇒ Object
- #export_labels(issue) ⇒ Object
- #get_issue(number) ⇒ Object
- #get_open_issues(label) ⇒ Object
-
#initialize ⇒ Repository
constructor
A new instance of Repository.
- #issue_url(number) ⇒ Object
Constructor Details
#initialize ⇒ Repository
5 6 7 8 9 10 11 |
# File 'lib/waff/repository.rb', line 5 def initialize @user = Config.user @token = Config.token @owner_and_repo = Config.get_owner_and_repo self.class.basic_auth @user, @token end |
Instance Method Details
#assign_issue(number) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/waff/repository.rb', line 28 def assign_issue(number) url = github_api_url ['issues', number, 'assignees'] response = self.class.post url, body: { assignees: [@user] }.to_json if response.success? puts "Successfully assigned issue ##{number} to #{@user}." else puts 'ERROR assigning user to issue' puts response.body end end |
#export_labels(issue) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/waff/repository.rb', line 39 def export_labels issue url = github_api_url ['issues', issue.number, 'labels'] response = self.class.put url, body: issue.labels.to_json if response.success? puts "Successfully assigned #{issue.labels.inspect} labels to ##{issue.number}" else puts 'ERROR setting issue labels' puts response.body end end |
#get_issue(number) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/waff/repository.rb', line 13 def get_issue(number) response = self.class.get(github_api_url ['issues', number]) if response.success? Issue.new(self, response.parsed_response) else puts 'ERROR requesting issue' puts response.body end end |
#get_open_issues(label) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/waff/repository.rb', line 50 def get_open_issues label response = self.class.get github_api_url(['issues']), query: { labels: label } if response.success? issues_data = response.parsed_response issues_data.reject! { |data| data['pull_request'] } issues_data.map { |data| Issue.new(self, data) } else puts 'ERROR requesting open issues' puts response.body end end |
#issue_url(number) ⇒ Object
24 25 26 |
# File 'lib/waff/repository.rb', line 24 def issue_url(number) github_url ['issues', number] end |