diff --git a/Gemfile.lock b/Gemfile.lock index 128590ff4a67ae8ec62040d2daca9f5cc4b85d48..464f44d597ceb9d5b9726b6ff60ed89a15d5c76e 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 74131016f8c8766ffb37dc53ea3255805625dbef..d9c0a5533d87c99522ba9589f7d814029e0048fe 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 100c1c3d72f5e86145f988c9ab8e1f2a56e2b20f..c11f34c8d6f60a1e08743f9c4bae3f1010884796 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