Sha256: bf56640f8d7f373a3b1cb11c27880e5ad4f8b30f89b817a93219d6cd39231738
Contents?: true
Size: 1007 Bytes
Versions: 3
Compression:
Stored size: 1007 Bytes
Contents
module Slack module Connection def get(method) response = connection.get method, { token: @token } if response.success? JSON.parse(response.body) else raise UnknownResponseCode, "Unexpected #{response.code}" end end def post(method, payload) response = connection.post do |req| req.url method, payload.to_hash req.headers['Content-Type'] = 'application/json' #req.body = JSON.dump(payload.to_hash) end handle_response(response) end def base_url #"https://#{@team}.slack.com/api/" "https://slack.com/api/" end def connection Faraday.new(base_url) do |c| c.use(Faraday::Request::UrlEncoded) c.adapter(Faraday.default_adapter) end end def handle_response(response) body = JSON.parse(response.body) if ["true", 1].include? body['ok'] true else raise Slack::Error.new(response.body) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
slack.rb-0.0.3 | lib/slack/connection.rb |
slack.rb-0.0.2 | lib/slack/connection.rb |
slack.rb-0.0.1 | lib/slack/connection.rb |