39 lines
851 B
Ruby
39 lines
851 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab::UsageDataCounters
|
|
class NoteCounter < BaseCounter
|
|
KNOWN_EVENTS = %w[create].freeze
|
|
PREFIX = 'note'
|
|
COUNTABLE_TYPES = %w[Snippet].freeze
|
|
|
|
class << self
|
|
def redis_key(event, noteable_type)
|
|
"#{super(event)}_#{noteable_type}".upcase
|
|
end
|
|
|
|
def count(event, noteable_type)
|
|
return unless countable?(noteable_type)
|
|
|
|
increment(redis_key(event, noteable_type))
|
|
end
|
|
|
|
def read(event, noteable_type)
|
|
return 0 unless countable?(noteable_type)
|
|
|
|
total_count(redis_key(event, noteable_type))
|
|
end
|
|
|
|
def totals
|
|
{
|
|
snippet_comment: read(:create, 'Snippet')
|
|
}
|
|
end
|
|
|
|
private
|
|
|
|
def countable?(noteable_type)
|
|
COUNTABLE_TYPES.include?(noteable_type.to_s)
|
|
end
|
|
end
|
|
end
|
|
end
|