class Airbrake::Request

Request holds request data that powers route stats.

@see Airbrake.notify_request @api public @since v3.2.0 rubocop:disable Metrics/ParameterLists

Attributes

end_time[RW]
method[RW]
route[RW]
start_time[RW]
status_code[RW]
time[RW]
timing[RW]

Public Class Methods

new( method:, route:, status_code:, start_time: Time.now, end_time: start_time + 1, timing: nil, time: Time.now ) click to toggle source
# File lib/airbrake-ruby/request.rb, line 18
def initialize(
  method:,
  route:,
  status_code:,
  start_time: Time.now,
  end_time: start_time + 1,
  timing: nil,
  time: Time.now
)
  @time_utc = TimeTruncate.utc_truncate_minutes(time)
  @method = method
  @route = route
  @status_code = status_code
  @start_time = start_time
  @end_time = end_time
  @timing = timing
  @time = time
end

Public Instance Methods

cargo() click to toggle source
# File lib/airbrake-ruby/request.rb, line 41
def cargo
  'routes'
end
destination() click to toggle source
# File lib/airbrake-ruby/request.rb, line 37
def destination
  'routes-stats'
end
to_h() click to toggle source
# File lib/airbrake-ruby/request.rb, line 45
def to_h
  {
    'method' => method,
    'route' => route,
    'statusCode' => status_code,
    'time' => @time_utc,
  }.delete_if { |_key, val| val.nil? }
end