class PrLog::FetchCommand

Top level workflow of the fetch command

Public Instance Methods

perform() click to toggle source
# File lib/pr_log/fetch_command.rb, line 6
def perform
  emit(:fetching, project.milestone, project.github_repository_name)
  pull_requests = new_pull_requests

  emit(:inserting, pull_requests, config.changelog_file)
  insert_pull_requests(pull_requests)
end

Private Instance Methods

formatter(pull_requests) click to toggle source
# File lib/pr_log/fetch_command.rb, line 31
def formatter(pull_requests)
  Formatter.new(pull_requests,
                config.entry_template,
                config.label_prefixes)
end
injector() click to toggle source
# File lib/pr_log/fetch_command.rb, line 37
def injector
  Injector.new(config.changelog_file)
end
insert_pull_requests(pull_requests) click to toggle source
# File lib/pr_log/fetch_command.rb, line 26
def insert_pull_requests(pull_requests)
  entries = formatter(pull_requests).entries
  injector.insert_after(config.insert_after, entries)
end
new_pull_requests() click to toggle source
# File lib/pr_log/fetch_command.rb, line 16
def new_pull_requests
  pull_requests = project.pull_requests_for_current_milestone

  excluded_issue_numbers = project.issue_numbers_mentioned_in_changelog

  pull_requests.reject do |pull_request|
    excluded_issue_numbers.include?(pull_request[:number])
  end
end