class GraphQL::Upgrader::RemoveNewlinesTransform

Remove newlines – normalize the text for processing

Public Instance Methods

apply(input_text) click to toggle source
# File lib/graphql/upgrader/member.rb, line 159
def apply(input_text)
  keep_looking = true
  while keep_looking do
    keep_looking = false
    # Find the `field` call (or other method), and an open paren, but not a close paren, or a comma between arguments
    input_text = input_text.gsub(/(?<field>(?:field|input_field|return_field|connection|argument)(?:\([^)]*|.*,))\n\s*(?<next_line>.+)/) do
      keep_looking = true
      field = $~[:field].chomp
      next_line = $~[:next_line]

      "#{field} #{next_line}"
    end
  end
  input_text
end