Sha256: 3cfff885a80335c53c80bc638b3cf3ab1b0d5038ebcaa1e22bd9f737da30bf3a
Contents?: true
Size: 982 Bytes
Versions: 5
Compression:
Stored size: 982 Bytes
Contents
class FormatProblem2Doc def initialize(problem) @problem = problem end def call # attr_accessor :varnames # attr_accessor :cases out = "" title = "Problem: #{@problem.name}" out << ("-" * title.size + "\n") out << "#{title}\n" desc = replace_case_values(@problem.desc) out << "#{desc}\n" @problem.asks.each_with_index do |ask, index| text = replace_case_values(ask[:text]) out << "#{index + 1}) #{text}\n" if ask[:answer] answer = replace_case_values(ask[:answer]) out << " #{answer}\n" else ask[:steps].each do |step| step = replace_case_values(step) out << " #{step}\n" end end end out << "\n" out << "\n" out end private def replace_case_values(text) output = text.clone keyvalues = @problem.varnames.zip @problem.cases[0] keyvalues.each { |varname, value | output.gsub!(varname, value) } output end end
Version data entries
5 entries across 5 versions & 1 rubygems