class ElasticAPM::Spies::SQSSpy

@api private

def self.queue_name(params)

def self.queue_name(params)
  if params[:queue_url]
    params[:queue_url].split('/')[-1]
  end
end

def self.region_from_url(url)

def self.region_from_url(url)
  if match = REGION_REGEXP.match(url)
    match[1]
  end
end

def self.span_context(queue_name, region)

def self.span_context(queue_name, region)
  ElasticAPM::Span::Context.new(
    message: { queue_name: queue_name },
    destination: {
      service: { resource: "#{SUBTYPE}/#{queue_name}" },
      cloud: { region: region }
    }
    # span links added here?
  )
end

def self.without_net_http

def self.without_net_http
  return yield unless defined?(NetHTTPSpy)
  # rubocop:disable Style/ExplicitBlockArgument
  ElasticAPM::Spies::NetHTTPSpy.disable_in do
    yield
  end
  # rubocop:enable Style/ExplicitBlockArgument
end

def install

def install
  ::Aws::SQS::Client.prepend(Ext)
end