Module: Slkecho::SlackRequest

Defined in:
lib/slkecho/slack_request.rb,
lib/slkecho/slack_request/post_message.rb,
lib/slkecho/slack_request/lookup_user_by_email.rb

Defined Under Namespace

Classes: LookupUserByEmail, PostMessage

Class Method Summary collapse

Class Method Details

.send_requestObject



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/slkecho/slack_request.rb', line 5

def self.send_request
  return unless block_given?

  response = yield
  raise Slkecho::SlackApiError, "API Response could not be retrieved." unless response.is_a?(Net::HTTPResponse)
  raise Slkecho::SlackApiHttpError, "#{response.code} #{response.message}" unless response.is_a?(Net::HTTPSuccess)

  begin
    JSON.parse(response.body, symbolize_names: true)
  rescue JSON::ParserError
    raise Slkecho::SlackApiError, "API Response is not JSON."
  end
end