class Slack::Messenger
Constants
- VERSION
Attributes
endpoint[R]
Public Class Methods
new(webhook_url, options={})
click to toggle source
# File lib/slack-messenger.rb, line 16 def initialize webhook_url, options={}, &block @endpoint = URI.parse webhook_url config.http_client(options.delete(:http_client)) if options.key?(:http_client) config.defaults options config.instance_exec(&block) if block_given? middleware.set config.middleware end
Public Instance Methods
config()
click to toggle source
# File lib/slack-messenger.rb, line 26 def config @_config ||= Config.new end
ping(message, options={})
click to toggle source
# File lib/slack-messenger.rb, line 30 def ping message, options={} if message.is_a?(Hash) options = message else options[:text] = message end post options end
post(payload={})
click to toggle source
# File lib/slack-messenger.rb, line 40 def post payload={} params = {} client = payload.delete(:http_client) || config.http_client payload = config.defaults.merge(payload) params[:http_options] = payload.delete(:http_options) if payload.key?(:http_options) middleware.call(payload).map do |pld| params[:payload] = pld.to_json client.post endpoint, params end end
Private Instance Methods
middleware()
click to toggle source
# File lib/slack-messenger.rb, line 55 def middleware @middleware ||= PayloadMiddleware::Stack.new(self) end