Class: Noticed::BulkDeliveryMethods::Slack

Inherits:
Noticed::BulkDeliveryMethod show all
Defined in:
lib/noticed/bulk_delivery_methods/slack.rb

Constant Summary collapse

DEFAULT_URL =
"https://slack.com/api/chat.postMessage"

Instance Attribute Summary

Attributes inherited from Noticed::BulkDeliveryMethod

#config, #event

Instance Method Summary collapse

Methods inherited from Noticed::BulkDeliveryMethod

#evaluate_option, #fetch_constant, #perform

Methods included from ApiClient

#post_request

Instance Method Details

#deliverObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/noticed/bulk_delivery_methods/slack.rb', line 8

def deliver
  headers = evaluate_option(:headers)
  json = evaluate_option(:json)
  response = post_request url, headers: headers, json: json

  if raise_if_not_ok?
    raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json}) unless JSON.parse(response.body)["ok"]
  end

  response
end

#raise_if_not_ok?Boolean

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/noticed/bulk_delivery_methods/slack.rb', line 24

def raise_if_not_ok?
  value = evaluate_option(:raise_if_not_ok)
  value.nil? ? true : value
end

#urlObject



20
21
22
# File 'lib/noticed/bulk_delivery_methods/slack.rb', line 20

def url
  evaluate_option(:url) || DEFAULT_URL
end