From b562af209d63204de340a8544b24c2a4b5bf7264 Mon Sep 17 00:00:00 2001 From: Jorn van de Beek <jornvandebeek@roqua.nl> Date: Tue, 19 Jan 2021 15:42:10 +0100 Subject: [PATCH] Revert "Add dsl for outcome schemas (tables) for roqua" This reverts commit 4c9ea0b6857d97a2658e22c36d1bf96f1fb194eb. --- lib/quby/compiler/entities/subscore_schema.rb | 4 -- lib/quby/compiler/outputs/roqua_serializer.rb | 25 ----------- .../compiler/outputs/roqua_serializer_spec.rb | 43 ------------------- 3 files changed, 72 deletions(-) delete mode 100644 spec/quby/compiler/outputs/roqua_serializer_spec.rb diff --git a/lib/quby/compiler/entities/subscore_schema.rb b/lib/quby/compiler/entities/subscore_schema.rb index 4c39f93..8091d9d 100644 --- a/lib/quby/compiler/entities/subscore_schema.rb +++ b/lib/quby/compiler/entities/subscore_schema.rb @@ -14,10 +14,6 @@ module Quby attribute :only_for_export?, Types::Bool # [Optional] The key of the variable definition used to calculate the subscore result. attribute :calculation_key?, Types::Symbol - # [Optional] The name of the outcome table where this subscore should be shown. Used for cases where scores - # differ in subscores too much to be shown as one table. Any name can be used, as long as they match between - # subscores that should be shown in the same table. - attribute :outcome_table?, Types::Symbol end end end diff --git a/lib/quby/compiler/outputs/roqua_serializer.rb b/lib/quby/compiler/outputs/roqua_serializer.rb index 85dca6e..9238afb 100644 --- a/lib/quby/compiler/outputs/roqua_serializer.rb +++ b/lib/quby/compiler/outputs/roqua_serializer.rb @@ -21,7 +21,6 @@ module Quby respondent_types: questionnaire.respondent_types, tags: questionnaire.tags.to_h.keys, charts: charts, - outcome_schema: outcome_schema, } end @@ -74,30 +73,6 @@ module Quby end } end - - def outcome_schema - # hash of tables, with the score keys (rows) and subscore keys (columns) used for each - tables = Hash.new{ |hash, key| hash[key] = {score_keys: [], subscore_keys: []} } - # hash of `subscore_key: subscore_label` pairs used in tables - headers = {} - - questionnaire.score_schemas.values.each do |schema| - schema.subscore_schemas.each do |subschema| - next unless subschema.outcome_table - tables[subschema.outcome_table][:subscore_keys] << subschema.key - tables[subschema.outcome_table][:score_keys] << schema.key - headers[subschema.key] = subschema.label - end - end - - tables.values.each { |table| table[:score_keys].uniq! } - tables.values.each { |table| table[:subscore_keys].uniq! } - - { - headers: headers, - tables: tables.values, - } - end end end end diff --git a/spec/quby/compiler/outputs/roqua_serializer_spec.rb b/spec/quby/compiler/outputs/roqua_serializer_spec.rb deleted file mode 100644 index 3cccaee..0000000 --- a/spec/quby/compiler/outputs/roqua_serializer_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -require 'spec_helper' - -describe Quby::Compiler::Outputs::RoquaSerializer do - it 'generates outcome schemas' do - questionnaire = dsl("test") do - title "Test Quest" - - score_schema :score1, 'Score 1' do - subscore :value, 'Waarde', export_key: :score1, outcome_table: :values do - 1 - end - subscore :int, 'Interpretatie', export_key: :score1_i do - 'Wah' - end - end - - score_schema :score2, 'Score 2' do - subscore :value, 'Waarde', export_key: :score2, outcome_table: :values do - 2 - end - end - - score_schema :score3, 'Score 3' do - subscore :mean, 'Gemiddelde', export_key: :score3, outcome_table: :means do - 1 - end - end - end - serializer = described_class.new(questionnaire) - expect(serializer.as_json).to \ - include({ - outcome_schema: { - tables: [{:score_keys => [:score1, :score2], :subscore_keys => [:value]}, - {:score_keys => [:score3], :subscore_keys => [:mean]}], - headers: {mean: "Gemiddelde", value: "Waarde"} - } - }) - end - - def dsl(key, &block) - Quby::Compiler::DSL.build(key, nil, &block) - end -end \ No newline at end of file -- GitLab