module ServiceOperation::ServiceNotification::ClassMethods

ClassMethods

Public Instance Methods

service_notifications_post(payload) click to toggle source

in a Class Method to avoid using allow_any_instance_of in tests

# 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

Private Instance Methods

http(uri) click to toggle source
# File lib/service_operation/service_notification.rb, line 32
def http(uri)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  http
end