class Zikrash::SendReport

Attributes

additional_reports[RW]
exception_info_data[RW]
params_info[RW]
project_key[RW]
session_info[RW]

Public Class Methods

new(project_key, exception_info_data, session_info, params_info, additional_reports) click to toggle source
# File lib/zikrash/send_report.rb, line 14
def initialize(project_key, exception_info_data, session_info, params_info, additional_reports)
  self.project_key = project_key
  self.exception_info_data = exception_info_data
  self.session_info = session_info
  self.params_info = params_info
  self.additional_reports = additional_reports
end

Public Instance Methods

let_it_go() click to toggle source
# File lib/zikrash/send_report.rb, line 22
def let_it_go
  project_url = unwrap_project_url

  begin
    uri = URI.parse(project_url)
    uri.kind_of?(URI::HTTP)
  rescue URI::InvalidURIError
    return false
  end

  http = Net::HTTP.new(uri.host, uri.port)

  request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
  request.body = form_request_body

  http.request(request)
end

Private Instance Methods

form_request_body() click to toggle source
# File lib/zikrash/send_report.rb, line 46
def form_request_body
  {
      exception_info: exception_info_data,
      session_info: session_info,
      params_info: params_info,
      additional_reports: additional_reports
  }.to_json
end
unwrap_project_url() click to toggle source
# File lib/zikrash/send_report.rb, line 42
def unwrap_project_url
  Base64.decode64(project_key)
end