Class: GraphQL::Upgrader::RemoveRedundantKwargTransform
- Defined in:
- lib/graphql/upgrader/member.rb
Overview
Find a keyword whose value is a string or symbol, and if the value is equivalent to the field name, remove the keyword altogether.
Instance Method Summary collapse
- #apply(input_text) ⇒ Object
-
#initialize(kwarg:) ⇒ RemoveRedundantKwargTransform
constructor
A new instance of RemoveRedundantKwargTransform.
Methods inherited from Transform
#apply_processor, #normalize_type_expression, #reindent_lines, #trim_lines, #underscorize
Constructor Details
#initialize(kwarg:) ⇒ RemoveRedundantKwargTransform
Returns a new instance of RemoveRedundantKwargTransform.
246 247 248 249 |
# File 'lib/graphql/upgrader/member.rb', line 246 def initialize(kwarg:) @kwarg = kwarg @finder_pattern = /(field|return_field|input_field|connection|argument) :(?<name>[a-zA-Z_0-9]*).*#{@kwarg}: ['":](?<kwarg_value>[a-zA-Z_0-9?!]+)['"]?/ end |
Instance Method Details
#apply(input_text) ⇒ Object
251 252 253 254 255 256 257 258 259 260 261 |
# File 'lib/graphql/upgrader/member.rb', line 251 def apply(input_text) if input_text =~ @finder_pattern field_name = $~[:name] kwarg_value = $~[:kwarg_value] if field_name == kwarg_value # It's redundant, remove it input_text = input_text.sub(/, #{@kwarg}: ['":]#{kwarg_value}['"]?/, "") end end input_text end |