summaryrefslogtreecommitdiff
path: root/rubocop/cop/graphql/gid_expected_type.rb
blob: 354c5516752a9c3b1b2db8d67af2ee7744f376f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

module RuboCop
  module Cop
    module Graphql
      class GIDExpectedType < RuboCop::Cop::Cop
        MSG = 'Add an expected_type parameter to #object_from_id calls if possible.'

        def_node_search :id_from_object?, <<~PATTERN
          (send ... :object_from_id (...))
        PATTERN

        def on_send(node)
          return unless id_from_object?(node)

          add_offense(node)
        end
      end
    end
  end
end