class Linterbot::PullRequest
Attributes
github_client[RW]
pull_request_number[RW]
repository[RW]
Public Class Methods
new(repository, pull_request_number, github_client)
click to toggle source
# File lib/linterbot/pull_request.rb, line 32 def initialize(repository, pull_request_number, github_client) @github_client = github_client @repository = repository @pull_request_number = pull_request_number end
Public Instance Methods
added_and_modified_files()
click to toggle source
# File lib/linterbot/pull_request.rb, line 38 def added_and_modified_files @added_and_modified_files ||= AddedModifiedFiles.new(files) end
commits()
click to toggle source
# File lib/linterbot/pull_request.rb, line 46 def commits @commits ||= fetch_pull_request_commits end
commits_for_file(filename)
click to toggle source
# File lib/linterbot/pull_request.rb, line 50 def commits_for_file(filename) commits.select { |commit| commit.files.map(&:filename).include?(filename) } end
file_for_filename(filename)
click to toggle source
# File lib/linterbot/pull_request.rb, line 54 def file_for_filename(filename) files.select { |file| file.filename == filename } .first end
files()
click to toggle source
# File lib/linterbot/pull_request.rb, line 42 def files @files ||= fetch_pull_request_files end
newest_commit()
click to toggle source
# File lib/linterbot/pull_request.rb, line 64 def newest_commit commits.first end
patch_for_file(filename)
click to toggle source
# File lib/linterbot/pull_request.rb, line 59 def patch_for_file(filename) file = file_for_filename(filename) return file.patch if file end
Private Instance Methods
fetch_pull_request_commits()
click to toggle source
# File lib/linterbot/pull_request.rb, line 75 def fetch_pull_request_commits github_client.pull_request_commits(repository, pull_request_number) .reverse .map do |commit| full_commit = github_client.commit(repository, commit.sha).to_h full_commit[:files].map! { |file| OpenStruct.new(file.to_h) } OpenStruct.new(full_commit) end end
fetch_pull_request_files()
click to toggle source
# File lib/linterbot/pull_request.rb, line 70 def fetch_pull_request_files github_client.pull_request_files(repository, pull_request_number) .map { |file| OpenStruct.new(file.to_h) } end