module Quby::Compiler::DSL
Public Class Methods
build(key, sourcecode = nil, path: nil, timestamp: nil, lookup_tables: {}, &block)
click to toggle source
# File lib/quby/compiler/dsl.rb, line 19 def self.build(key, sourcecode = nil, path: nil, timestamp: nil, lookup_tables: {}, &block) Entities::Questionnaire.new(key, last_update: timestamp).tap do |questionnaire| builder = QuestionnaireBuilder.new(questionnaire, lookup_tables: lookup_tables) builder.instance_eval(sourcecode, path || key) if sourcecode builder.instance_eval(&block) if block questionnaire.callback_after_dsl_enhance_on_questions end end
build_from_definition(definition)
click to toggle source
# File lib/quby/compiler/dsl.rb, line 11 def self.build_from_definition(definition) Entities::Questionnaire.new(definition.key, last_update: definition.timestamp).tap do |questionnaire| builder = QuestionnaireBuilder.new(questionnaire, lookup_tables: definition.lookup_tables) builder.instance_eval(definition.sourcecode, definition.path) if definition.sourcecode questionnaire.callback_after_dsl_enhance_on_questions end end