23 lines
707 B
Ruby
23 lines
707 B
Ruby
# frozen_string_literal: true
|
|
#
|
|
module RuboCop
|
|
module Cop
|
|
# Cop that blacklists the usage of Group.public_or_visible_to_user
|
|
class GroupPublicOrVisibleToUser < RuboCop::Cop::Cop
|
|
MSG = '`Group.public_or_visible_to_user` should be used with extreme care. ' \
|
|
'Please ensure that you are not using it on its own and that the amount ' \
|
|
'of rows being filtered is reasonable.'
|
|
|
|
def_node_matcher :public_or_visible_to_user?, <<~PATTERN
|
|
(send (const nil? :Group) :public_or_visible_to_user ...)
|
|
PATTERN
|
|
|
|
def on_send(node)
|
|
return unless public_or_visible_to_user?(node)
|
|
|
|
add_offense(node, location: :expression)
|
|
end
|
|
end
|
|
end
|
|
end
|