class PullRequestSummarizer::Summarizer
Attributes
pull_request_number[R]
Public Class Methods
new(pull_request_number)
click to toggle source
# File lib/pull_request_summarizer/summarizer.rb, line 10 def initialize(pull_request_number) @pull_request_number = pull_request_number end
Public Instance Methods
summarize()
click to toggle source
# File lib/pull_request_summarizer/summarizer.rb, line 14 def summarize pull_request = github.pull_request(everypolitician_data_repo, pull_request_number) files = github.pull_request_files(everypolitician_data_repo, pull_request_number) popolo_before_after = FindPopoloFiles.from(files).map do |file| { path: file[:filename], before: open(file[:raw_url].sub(pull_request[:head][:sha], pull_request[:base][:sha])).read, after: open(file[:raw_url]).read, } end begin ReviewChanges.new(popolo_before_after).to_html rescue Octokit::UnprocessableEntity => e raise Error, "Unable to review pull request #{pull_request_number}: #{e.message}" end end
Private Instance Methods
everypolitician_data_repo()
click to toggle source
# File lib/pull_request_summarizer/summarizer.rb, line 40 def everypolitician_data_repo ENV.fetch('EVERYPOLITICIAN_DATA_REPO', 'everypolitician/everypolitician-data') end
github()
click to toggle source
# File lib/pull_request_summarizer/summarizer.rb, line 34 def github @github ||= Octokit::Client.new.tap do |g| g.access_token = ENV['GITHUB_ACCESS_TOKEN'] end end