module QuestionHashFormatter
Transform Questions into YAML format
Public Class Methods
sanitize(input = '')
click to toggle source
# File lib/asker/formatter/question_hash_formatter.rb, line 30 def self.sanitize(input = '') output = input.dup output.gsub!("#", "\\#") output.gsub!("\n", " ") #output.gsub!(":", "\\:") output.gsub!("=", "\\=") output.gsub!("\{", "\\{") output.gsub!("\}", "\\}") output end
to_hash(question)
click to toggle source
# File lib/asker/formatter/question_hash_formatter.rb, line 4 def self.to_hash(question) @question = question # Return question using YAML format s = {} s[:comment] = @question.comment s[:name] = @question.name s[:text] = sanitize(@question.text) s[:type] = @question.type s[:feedback] = sanitize(@question.feedback.to_s) s[:lang] = @question.lang.code.to_sym case @question.type when :choice s[:answer] = sanitize(@question.good) s[:options] = (@question.bads + [@question.good]).shuffle when :boolean s[:answer] = @question.good when :match s[:answer] = @question.matching s[:matching] = @question.matching when :short @question.shorts.uniq! s[:answer] = @question.shorts end s end