class GraphQL::Upgrader::ConfigurationToKwargTransform

Find a configuration in the block and move it to a kwarg, for example “` do

property :thing

end “` becomes: “` property: thing “`

Public Class Methods

new(kwarg:) click to toggle source
# File lib/graphql/upgrader/member.rb, line 218
def initialize(kwarg:)
  @kwarg = kwarg
end

Public Instance Methods

apply(input_text) click to toggle source
# File lib/graphql/upgrader/member.rb, line 222
def apply(input_text)
  input_text.gsub(
    /(?<field>(?:field|return_field|input_field|connection|argument).*) do(?<block_contents>.*?)[ ]*#{@kwarg} (?<kwarg_value>.*?)\n/m
  ) do
    field = $~[:field]
    block_contents = $~[:block_contents]
    kwarg_value = $~[:kwarg_value].strip

    "#{field}, #{@kwarg}: #{kwarg_value} do#{block_contents}"
  end
end