def keyword_table
require 'stringio'
require 'gherkin/formatter/pretty_formatter'
require 'gherkin/formatter/model'
io = StringIO.new
pf = Gherkin::Formatter::PrettyFormatter.new(io, true)
gherkin_keyword_table = KEYWORD_KEYS.map do |key|
Formatter::Model::Row.new([], [key, keywords(key).map{|keyword| %{"#{keyword}"}}.join(', ')], nil)
end
code_keyword_table = STEP_KEYWORD_KEYS.map do |key|
code_keywords = keywords(key).reject{|keyword| keyword == '* '}.map do |keyword|
%{"#{self.class.code_keyword_for(keyword)}"}
end.join(', ')
Formatter::Model::Row.new([], ["#{key} (code)", code_keywords], nil)
end
pf.table(gherkin_keyword_table + code_keyword_table)
io.rewind
io.read
end