class GraphQL::Upgrader::MutationDefineToClassTransform

Turns `{X} = GraphQL::Relay::Mutation.define do` into `class {X} < Mutations::BaseMutation`

Public Class Methods

new(base_class_name: "Mutations::BaseMutation") click to toggle source

@param base_class_name [String] Replacement pattern for the base class name. Use this if your Mutation base class has a nonstandard name.

# File lib/graphql/upgrader/member.rb, line 122
def initialize(base_class_name: "Mutations::BaseMutation")
  @find_pattern = /([a-zA-Z_0-9:]*) = GraphQL::Relay::Mutation.define do/
  @replace_pattern = "class \\1 < #{base_class_name}"
end

Public Instance Methods

apply(input_text) click to toggle source
# File lib/graphql/upgrader/member.rb, line 127
def apply(input_text)
  input_text.sub(@find_pattern, @replace_pattern)
end