Sha256: fdf425248f158119f23272563ea5320ca44a51b128f127a56d0abc684409f463
Contents?: true
Size: 1.03 KB
Versions: 9
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true require 'quby/questionnaires/dsl/base' require 'quby/questionnaires/dsl/helpers' require 'quby/questionnaires/dsl/questionnaire_builder' module Quby module Questionnaires module DSL def self.build_from_definition(definition) Entities::Questionnaire.new(definition.key, last_update: definition.timestamp).tap do |questionnaire| builder = QuestionnaireBuilder.new(questionnaire) builder.instance_eval(definition.sourcecode, definition.path) if definition.sourcecode questionnaire.callback_after_dsl_enhance_on_questions end end def self.build(key, sourcecode = nil, timestamp: nil, &block) Entities::Questionnaire.new(key, last_update: timestamp).tap do |questionnaire| builder = QuestionnaireBuilder.new(questionnaire) builder.instance_eval(sourcecode, key) if sourcecode builder.instance_eval(&block) if block questionnaire.callback_after_dsl_enhance_on_questions end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems