Sha256: 63c41ed5be64f7006e91ebdf9d49c642105dc88e3bcf778ad1ebf2e0056f3752
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Ezcater # Enforce use of GQLErrors helpers instead of throwing # GraphQL::ExecutionErrors directly # # @example # # # good # GQLErrors.summary_error("An error occurred") # GQLErrors.request_error("You can't access this", 401) # GQLErrors.field_error("is invalid", :first_name, "First Name") # GQLErrors.field_errors_for(my_model, context) # GQLErrors.field_errors_for(my_model, context, summary_error: "An error occurred") # GQLErrors.field_errors_for(my_model, context, field_mapping: { first: :first_name }) # # # bad # GraphQL::ExecutionError.new("An error occurred") # GraphQL::ExecutionError.new("You can't access this", options: { status_code: 401 }) class RequireGqlErrorHelpers < Base MSG = "Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly." def_node_matcher :graphql_const?, <<~PATTERN (const (const _ :GraphQL) :ExecutionError) PATTERN def on_const(node) return unless graphql_const?(node) add_offense(node.loc.expression, message: MSG) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems