Class: ADXToolkit::SlackPoster

Inherits:
Object
  • Object
show all
Defined in:
lib/slack_poster.rb

Overview

Send message and upload file to slack

Constant Summary collapse

URL =
'https://slack.com/api/'

Instance Method Summary collapse

Constructor Details

#initialize(network_request = NetworkRequest.new) ⇒ SlackPoster

Returns a new instance of SlackPoster.



12
13
14
# File 'lib/slack_poster.rb', line 12

def initialize(network_request = NetworkRequest.new)
  @network_request = network_request
end

Instance Method Details

#escape_newline(message) ⇒ Object



22
23
24
25
26
27
# File 'lib/slack_poster.rb', line 22

def escape_newline(message)
  new_message = message.gsub('%0A', "\n")
  # new_message = new_message.gsub('0x0A', "\n")
  # new_message = new_message.gsub('\n', "\n")
  new_message
end

#post_message(channel_id, message, token) ⇒ Object



16
17
18
19
20
# File 'lib/slack_poster.rb', line 16

def post_message(channel_id, message, token)
  url = "#{URL}chat.postMessage"
  escaped_message = escape_newline(message)
  @network_request.post(url, { token: token }, 'channel' => channel_id, 'text' => escaped_message)
end