Class: GraphQL::Modernize::Rules::ComplexityCostMode

Inherits:
Base
  • Object
show all
Defined in:
lib/graphql/modernize/rules/schema_config.rb

Instance Attribute Summary

Attributes inherited from Base

#offenses

Instance Method Summary collapse

Methods inherited from Base

#initialize, node_pattern, node_types, rule, #visit

Constructor Details

This class inherits a constructor from GraphQL::Modernize::Rules::Base

Instance Method Details

#on_match(node, _captures) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/graphql/modernize/rules/schema_config.rb', line 11

def on_match(node, _captures)
  context = context_for(node)
  return unless inside?(node, :schema)

  configured = hierarchy.calls_for(context.class_name).any? do |call|
    call.direct && call.name == :complexity_cost_calculation_mode
  end
  configured ||= hierarchy.class_method_defined?(context.class_name, :complexity_cost_calculation_mode_for)
  return if configured

  add_offense(node.location, message: "Choose a migration policy for `complexity_cost_calculation_mode`")
end