Module: ServiceOperation::ServiceNotification::ClassMethods

Defined in:
lib/service_operation/service_notification.rb

Overview

ClassMethods

Instance Method Summary collapse

Instance Method Details

#service_notifications_post(payload) ⇒ Object

in a Class Method to avoid using allow_any_instance_of in tests



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/service_operation/service_notification.rb', line 15

def service_notifications_post(payload)
  uri = URI payload.delete(:url)

  request = Net::HTTP::Post.new(uri)
  request.body = payload.to_json

  response = http(uri).request(request)

  # status, body
  [
    Rack::Utils::SYMBOL_TO_STATUS_CODE.invert[response.code],
    JSON.parse(response.body, symbolize_names: true)
  ]
end