Survey DSL 01: survey :trug_questions do 02: title 'A few questions about TRUG' 03: question :city, kind: :single_choice do 04: text 'Where do you live?' 05: answer_option :gdansk 06: answer_option :gdynia 07: answer_option :sopot 08: end 09: end
instance_eval def build_question(&block) builder = QuestionBuilder.new builder.instance_eval(&block) builder.build end build_question do text 'Where do you live?' answer_option :gdansk answer_option :gdynia answer_option :sopot end
It may be a string def build_question(dsl_string) builder = QuestionBuilder.new builder.instance_eval(dsl_string) builder.build end build_question " text 'Where do you live?' answer_option :gdansk answer_option :gdynia answer_option :sopot "