module RepositoryMerger::GitHubIssueReference
Constants
- ABSOLUTE_REFERENCE_PATTERN
- AbsoluteReference
- ISSUE_NUMBER_PATTERN
- REFERENCE_PATTERN
- REPOSITORY_NAME_PATTERN
- REPO_LOCAL_REFERENCE_PATTERN
- RepositoryLocalReference
- USERNAME_PATTERN
Public Class Methods
convert_repo_local_references_to_absolute_ones_in(message, username:, repo_name:)
click to toggle source
# File lib/repository_merger/github_issue_reference.rb, line 29 def self.convert_repo_local_references_to_absolute_ones_in(message, username:, repo_name:) message.gsub(REPO_LOCAL_REFERENCE_PATTERN) do reference = create_referece_from(Regexp.last_match) raise unless reference "#{username}/#{repo_name}##{reference.issue_number}" end end
create_referece_from(match)
click to toggle source
# File lib/repository_merger/github_issue_reference.rb, line 37 def self.create_referece_from(match) if match[:repo_local_reference] RepositoryLocalReference.new(issue_number: Integer(match[:issue_number])) elsif match[:absolute_reference] AbsoluteReference.new( username: match[:username], repo_name: match[:repo_name], issue_number: Integer(match[:issue_number]) ) end end
extract_references_from(message)
click to toggle source
# File lib/repository_merger/github_issue_reference.rb, line 18 def self.extract_references_from(message) references = [] message.scan(REFERENCE_PATTERN) do reference = create_referece_from(Regexp.last_match) references << reference if reference end references end