Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rubocop/cop/gitlab/deprecate_track_redis_hll_event.rb')
-rw-r--r--rubocop/cop/gitlab/deprecate_track_redis_hll_event.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/rubocop/cop/gitlab/deprecate_track_redis_hll_event.rb b/rubocop/cop/gitlab/deprecate_track_redis_hll_event.rb
new file mode 100644
index 00000000000..3e30f3aa4d0
--- /dev/null
+++ b/rubocop/cop/gitlab/deprecate_track_redis_hll_event.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+require 'rack/utils'
+
+module RuboCop
+ module Cop
+ module Gitlab
+ # This cop prevents from using deprecated `track_redis_hll_event` method.
+ #
+ # @example
+ #
+ # # bad
+ # track_redis_hll_event :show, name: 'p_analytics_valuestream'
+ #
+ # # good
+ # track_event :show, name: 'g_analytics_valuestream', destinations: [:redis_hll]
+ class DeprecateTrackRedisHLLEvent < RuboCop::Cop::Cop
+ MSG = '`track_redis_hll_event` is deprecated. Use `track_event` helper instead. ' \
+ 'See https://docs.gitlab.com/ee/development/service_ping/implement.html#add-new-events'
+
+ def_node_matcher :track_redis_hll_event_used?, <<~PATTERN
+ (send _ :track_redis_hll_event ...)
+ PATTERN
+
+ def on_send(node)
+ return unless track_redis_hll_event_used?(node)
+
+ add_offense(node, location: :selector)
+ end
+ end
+ end
+ end
+end