module Slatan::Mouth
send and receive message to use Slack API
Public Class Methods
send(category, method, msg)
click to toggle source
# File lib/slatan/mouth.rb, line 45 def send(category, method, msg) base_url = Spirit.slack_api_url msg = { as_user: true, token: Spirit.slack_token }.merge(msg) uri = URI.parse("#{base_url}/#{category}.#{method}?#{URI.encode_www_form(msg)}") Buttocks.debug("sent request: #{uri.request_uri}") request = Net::HTTP::Post.new(uri.request_uri, { 'Content-Type' =>'application/json' }) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE response = http.start do |h| h.request(request) end body = JSON.parse(response.try(:body) || '{"ok":false, "error": " request body is empty."}', symbolize_names: true) Buttocks.debug("received response: #{body}") body end