Module: QuestionHashFormatter
- Defined in:
- lib/asker/formatter/question_hash_formatter.rb
Overview
Transform Questions into YAML format
Class Method Summary collapse
Class Method Details
.sanitize(input = "") ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/asker/formatter/question_hash_formatter.rb', line 28 def self.sanitize(input = "") output = input.dup output.gsub!("#", "\\#") output.tr!("\n", " ") # output.gsub!(":", "\\:") output.gsub!("=", "\\=") output.gsub!("{", "\\{") output.gsub!("}", "\\}") output end |
.to_hash(question) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/asker/formatter/question_hash_formatter.rb', line 3 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 when :short @question.shorts.uniq! s[:answer] = @question.shorts end s end |