class HubLink::Api::PullRequest
Constants
- EXPORT_COLUMNS
Public Class Methods
list(repo:, page:, **options)
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 27 def self.list(repo:, page:, **options) Octokit.list_issues(repo, options.merge(page: page, sort: "updated", direction: "asc", state: "all")).map do |item| item.repo = repo new(item) end end
Public Instance Methods
additions()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 50 def additions extended_data.additions end
body_size()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 54 def body_size body.to_s.size end
comments_count()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 62 def comments_count extended_data.comments end
labels()
click to toggle source
Calls superclass method
# File lib/hub_link/api/pull_request.rb, line 70 def labels super.map(&:name).join(", ") end
merged_at()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 58 def merged_at extended_data.merged_at end
pull_request?()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 34 def pull_request? respond_to?(:pull_request) end
review_comments_count()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 66 def review_comments_count extended_data.review_comments end
review_requests()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 46 def review_requests @_review_requests ||= fetch_review_requests end
reviews()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 42 def reviews @_reviews ||= fetch_reviews end
submitter()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 38 def submitter user.login end
to_h()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 74 def to_h Slicer.new(self, columns: EXPORT_COLUMNS).to_h end
Private Instance Methods
extended_data()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 110 def extended_data @_extended_data ||= Octokit.get(pull_request.url) end
fetch_review_requests()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 84 def fetch_review_requests requests = Octokit.pull_request_review_requests(repo, number) requests.users.compact.map do |reviewer| ReviewRequest.new(created_at: created_at, reviewer: reviewer.login, requester: submitter, pull_request_id: id) end end
fetch_reviews()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 92 def fetch_reviews Octokit.pull_request_reviews(repo, number).map do |data| data.repo = repo data.pull_request_id = id data.number = number data.submitter = submitter Review.new(data) end end
first_approval()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 102 def first_approval reviews.find(&:approval?) end
first_review()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 106 def first_review reviews.find(&:submitted?) end
merged?()
click to toggle source
# File lib/hub_link/api/pull_request.rb, line 80 def merged? merged_at.present? end