method_body = method_body.gsub(/#{args_arg_name}(?<method_begin>\.key\?\(?|\[)["':](?<arg_name>[a-zA-Z0-9_]+)["']?(?<method_end>\]|\))?/) do
              method_begin = $~[:method_begin]
              arg_name = underscorize($~[:arg_name])
              method_end = $~[:method_end]
              "#{args_arg_name}#{method_begin}:#{arg_name}#{method_end}"