class Slackly
Constants
- DEFAULT_OPTIONS
- VERSION
Attributes
client_options[RW]
webhook_uri[RW]
Public Class Methods
new(webhook_url, client_options = {})
click to toggle source
# File lib/slackly.rb, line 16 def initialize(webhook_url, client_options = {}) @webhook_uri = URI.parse(webhook_url) @client_options = DEFAULT_OPTIONS.merge(client_options) end
Public Instance Methods
message(message_options = {})
click to toggle source
# File lib/slackly.rb, line 31 def message(message_options = {}) message!(message_options) rescue => exception warn "Error while sending message to Slack: #{exception.message}" end
message!(message_options = {})
click to toggle source
# File lib/slackly.rb, line 21 def message!(message_options = {}) fail Slackly::InvalidMessageTextError, 'Please supply a valid message text' if message_options[:text].nil? request = Net::HTTP::Post.new(webhook_uri.request_uri) request.body = "payload=#{client_options.merge(message_options).to_json}" Net::HTTP.start(webhook_uri.host, webhook_uri.port, use_ssl: webhook_uses_ssl?) do |http| http.request(request) end end
Private Instance Methods
webhook_uses_ssl?()
click to toggle source
# File lib/slackly.rb, line 39 def webhook_uses_ssl? 'https' == webhook_uri.scheme end