def snippet_text(code_keyword, step_name, multiline_arg_class)
snippet_pattern = Regexp.escape(step_name).gsub('\ ', ' ').gsub('/', '\/')
arg_count = 0
ARGUMENT_PATTERNS.each do |pattern|
snippet_pattern = snippet_pattern.gsub(Regexp.new(pattern), pattern)
arg_count += snippet_pattern.scan(pattern).length
end
block_args = (0...arg_count).map {|n| "arg#{n+1}"}
block_args << multiline_arg_class.default_arg_name unless multiline_arg_class.nil?
block_arg_string = block_args.empty? ? "" : " |#{block_args.join(", ")}|"
multiline_class_comment = ""
if(multiline_arg_class == Ast::Table)
multiline_class_comment = "# #{multiline_arg_class.default_arg_name} is a #{multiline_arg_class.to_s}\n "
end
"#{code_keyword} /^#{snippet_pattern}$/ do#{block_arg_string}\n #{multiline_class_comment}pending # express the regexp above with the code you wish you had\nend"
end