class Slack::Notifier::PayloadMiddleware::At

Public Instance Methods

call(payload={}) click to toggle source
# File lib/slack-notifier/payload_middleware/at.rb, line 11
def call payload={}
  return payload unless payload[:at]

  payload[:text] = "#{format_ats(payload.delete(:at))}#{payload[:text]}"
  payload
end

Private Instance Methods

at_cmd_char(at) click to toggle source
# File lib/slack-notifier/payload_middleware/at.rb, line 25
def at_cmd_char at
  case at
  when :here, :channel, :everyone, :group
    "!"
  else
    "@"
  end
end
format_ats(ats) click to toggle source
# File lib/slack-notifier/payload_middleware/at.rb, line 20
def format_ats ats
  Array(ats).map { |at| "<#{at_cmd_char(at)}#{at}> " }
            .join("")
end