class SlackMsgr::SlackMethod
Handles all requests with Slack API
Private Class Methods
add_metadata_to_response(response)
click to toggle source
# File lib/slack_msgr/slack_method.rb, line 20 def add_metadata_to_response(response) JSON.parse(response.body, symbolize_names: true) .merge!(auth_token: conceal(conn.headers['Authorization'])) end
conceal(token)
click to toggle source
# File lib/slack_msgr/slack_method.rb, line 16 def conceal(token) token.split('Bearer ').last[0..-6].gsub(/[a-zA-Z0-9]/, 'X') + token[-5..-1] end
conn()
click to toggle source
# File lib/slack_msgr/slack_method.rb, line 9 def conn @conn ||= Faraday.new(url: SLACK_URL) do |config| config.request :url_encoded # form-encode POST params config.adapter Faraday.default_adapter # make requests with Net::HTTP end end
send_legacy_request_to_slack(obj)
click to toggle source
# File lib/slack_msgr/slack_method.rb, line 35 def send_legacy_request_to_slack(obj) conn.authorization :Bearer, SlackMsgr.configuration.legacy_token response = conn.post do |req| req.url "/api/#{obj.method}" req.headers['Content-Type'] = 'application/x-www-form-urlencoded' req.body = URI.encode_www_form(obj.body) end JSON.parse(response.body, symbolize_names: true) end
send_post_request_to_slack(obj)
click to toggle source
# File lib/slack_msgr/slack_method.rb, line 25 def send_post_request_to_slack(obj) conn.authorization :Bearer, SlackMsgr.configuration.oauth_access_token(obj.opts[:use_token]) response = conn.post do |req| req.url "/api/#{obj.method}" req.headers['Content-Type'] = 'application/json; charset=utf-8' req.body = obj.body end add_metadata_to_response(response) end