class Prpr::Action::MentionReviewers::Mention
Public Instance Methods
call()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 5 def call Publisher::Adapter::Base.broadcast message end
Private Instance Methods
body()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 24 def body <<-END #{reviewer_mention_name} #{comment_body} #{pull_request.html_url} END end
comment_body()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 32 def comment_body comment = env.format(:mention_reviewers_body, pull_request) comment.empty? ? "Please review my PR: #{pull_request.title}" : comment end
config()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 63 def config @config ||= Config::Github.new(repository_name) end
env()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 67 def env Config::Env.default end
from()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 45 def from event.sender end
members()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 53 def members @members ||= config.read(name).lines.map { |line| if line =~ / \* (\S+):\s*(\S+)/ [$1, $2] end }.to_h rescue @members ||= {} end
message()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 11 def message channel = to_dm? ? reviewer_mention_name : room Prpr::Publisher::Message.new(body: body, from: from, room: channel) end
name()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 71 def name env[:mention_comment_members] || 'MEMBERS.md' end
pull_request()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 16 def pull_request event.pull_request end
repository_name()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 75 def repository_name event.repository.full_name end
requested_reviewer()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 20 def requested_reviewer event.requested_reviewer end
reviewer()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 41 def reviewer "@#{requested_reviewer.login}" end
reviewer_mention_name()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 37 def reviewer_mention_name members[reviewer] || reviewer end
room()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 49 def room env[:mention_comment_room] end
to_dm?()
click to toggle source
# File lib/prpr/action/mention_reviewers/mention.rb, line 79 def to_dm? env[:mention_reviewers_to_dm] == 'true' end