class Slack::Notifier::PayloadMiddleware::FormatAttachments

Public Instance Methods

call(payload={}) click to toggle source
# File lib/slack-notifier/payload_middleware/format_attachments.rb, line 11
def call payload={}
  payload = payload.dup
  attachments = payload.delete(:attachments)
  attachments ||= payload.delete("attachments")

  attachments = wrap_array(attachments).map do |attachment|
    ["text", :text].each do |key|
      if attachment.key?(key)
        attachment[key] = Util::LinkFormatter.format(attachment[key], options)
      end
    end

    attachment
  end

  payload[:attachments] = attachments if attachments && !attachments.empty?
  payload
end

Private Instance Methods

wrap_array(object) click to toggle source
# File lib/slack-notifier/payload_middleware/format_attachments.rb, line 32
def wrap_array object
  if object.nil?
    []
  elsif object.respond_to?(:to_ary)
    object.to_ary || [object]
  else
    [object]
  end
end