From 137ecd99c11e51fbafc9d7380bccf852a18473ed Mon Sep 17 00:00:00 2001 From: Jorn van de Beek <jornvandebeek@roqua.nl> Date: Wed, 24 Feb 2021 15:53:49 +0100 Subject: [PATCH] Strip slashes from question title numbers --- Gemfile.lock | 2 +- lib/quby/compiler/services/quby_proxy.rb | 9 ++++++++- spec/quby/compiler/outputs/seed_serializer_spec.rb | 12 ++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 128590f..464f44d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - quby-compiler (0.1.1) + quby-compiler (0.2.1) actionview (>= 5.0) activemodel (>= 5.0) activesupport (>= 5.0) diff --git a/lib/quby/compiler/services/quby_proxy.rb b/lib/quby/compiler/services/quby_proxy.rb index 7413101..d9c0a55 100644 --- a/lib/quby/compiler/services/quby_proxy.rb +++ b/lib/quby/compiler/services/quby_proxy.rb @@ -114,6 +114,7 @@ module Quby update_dqtypes_depends(d_qtypes, question, options) end + strip_question_number_slashes(question_titles) seed["quests"] = sort_nested_hash(question_titles) seed["d_qtypes"] = sort_nested_hash(d_qtypes) seed["name"] = questionnaire.title @@ -286,7 +287,13 @@ module Quby end def strip_p_tag(text) - text.gsub(/^<p>(.*)<\/p>\n?$/, "\\1") + text.gsub /^<p>(.*)<\/p>\n?$/, '\1' + end + + def strip_question_number_slashes(quests) + quests.transform_values! do |value| + value.gsub /^(\s*\d+)\\/, '\1' + end end def process_scores diff --git a/spec/quby/compiler/outputs/seed_serializer_spec.rb b/spec/quby/compiler/outputs/seed_serializer_spec.rb index 100c1c3..c11f34c 100644 --- a/spec/quby/compiler/outputs/seed_serializer_spec.rb +++ b/spec/quby/compiler/outputs/seed_serializer_spec.rb @@ -21,6 +21,18 @@ describe Quby::Compiler::Outputs::SeedSerializer do ]) end + + it 'strips slashes after question numbers' do + questionnaire = dsl("test") do + title "Test Quest" + panel do + question :v_1, type: :string, title: ' 12\. vraag nummer 1' + end + end + serializer = described_class.new(questionnaire, []) + expect(serializer.generate.first['quests']).to eq("v_1"=>" 12. vraag nummer 1") + end + def dsl(key, &block) Quby::Compiler::DSL.build(key, nil, &block) end -- GitLab