class ElasticAPM::Spies::DynamoDBSpy

@api private

def self.formatted_op_name(operation_name)

def self.formatted_op_name(operation_name)
  @@formatted_op_names.compute_if_absent(operation_name) do
    operation_name.to_s.split('_').collect(&:capitalize).join
  end
end

def self.span_name(operation_name, params)

def self.span_name(operation_name, params)
  params[:table_name] ?
    "DynamoDB #{formatted_op_name(operation_name)} #{params[:table_name]}" :
    "DynamoDB #{formatted_op_name(operation_name)}"
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::DynamoDB::Client.prepend(Ext)
end