on_send

in lib/rubocop/cop/primer/system_argument_instead_of_class.rb [21:46]


        def on_send(node)
          return unless valid_node?(node)
          return unless node.arguments?

          
          kwargs = node.arguments.last

          return unless kwargs.type == :hash

          
          classes_arg = kwargs.pairs.find { |kwarg| kwarg.key.value == :classes }

          return if classes_arg.nil?
          return unless classes_arg.value.type == :str

          
          classes = classes_arg.value.value

          system_arguments = ::Primer::Classify::Utilities.classes_to_hash(classes)

          
          return if system_arguments[:classes] == classes

          add_offense(classes_arg, message: INVALID_MESSAGE)
        end