Class: CodeReviewLeaderboard::Reviews
- Inherits:
-
Object
- Object
- CodeReviewLeaderboard::Reviews
- Defined in:
- lib/code_review_leaderboard/reviews.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(pull:, since: 30.days.ago) ⇒ Reviews
constructor
A new instance of Reviews.
- #reviews ⇒ Object
Constructor Details
#initialize(pull:, since: 30.days.ago) ⇒ Reviews
11 12 13 14 |
# File 'lib/code_review_leaderboard/reviews.rb', line 11 def initialize(pull:, since: 30.days.ago) @pull = pull @since = since end |
Class Method Details
.for(pull:, since: 30.days.ago) ⇒ Object
6 7 8 |
# File 'lib/code_review_leaderboard/reviews.rb', line 6 def for(pull:, since: 30.days.ago) new(pull:, since:).reviews end |
Instance Method Details
#reviews ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/code_review_leaderboard/reviews.rb', line 16 def reviews puts "Fetching reviews for #{repository}##{pull.number}..." if Config.log_level == :debug comments, reviews = fetch_reviews .map { {user: _1.user.login, state: _1.state.downcase.to_sym} } .uniq .partition { _1[:state] == :commented } # Do not count comments if already otherwise reviewed comments.filter! do |commenter| reviews.none? { |reviewer| reviewer[:user] == commenter[:user] } end reviews + comments end |