From 601f2af1e21754cb4a97f633fccdb068ec91cb84 Mon Sep 17 00:00:00 2001 From: Marten Veldthuis <marten@veldthuis.com> Date: Tue, 20 Jul 2021 11:01:01 +0200 Subject: [PATCH] Remove deprecated feature for loading existing seeds --- exe/quby-compile | 9 +-------- lib/quby/compiler.rb | 3 +-- lib/quby/compiler/instance.rb | 4 ++-- lib/quby/compiler/outputs/seed_serializer.rb | 10 +++------- lib/quby/compiler/services/quby_proxy.rb | 3 ++- spec/quby/compiler/outputs/seed_serializer_spec.rb | 8 ++++---- 6 files changed, 13 insertions(+), 24 deletions(-) diff --git a/exe/quby-compile b/exe/quby-compile index 2bb438f..bd7d029 100755 --- a/exe/quby-compile +++ b/exe/quby-compile @@ -8,7 +8,6 @@ require "quby/compiler" output_path = "output" lookup_tables_path = "lookup_tables" -seeds_path = "seeds" OptionParser.new do |opts| opts.banner = "Usage: quby-compile FILE_OR_DIRS [options]" @@ -19,10 +18,6 @@ OptionParser.new do |opts| opts.on("--lookup-tables=INPUT") do |value| lookup_tables_path = value end - - opts.on("--seeds=INPUT") do |value| - puts '--seeds is a deprecated option, questionnaire definitions should use seed_patches to conserve seed tweaks' - end end.parse! paths = ARGV.flat_map do |file_or_dir| @@ -41,9 +36,7 @@ paths.each do |path| key = File.basename(File.dirname(path)) sourcecode = File.read(path) last_update = File.mtime(path) - seed_path = File.join(seeds_path, "#{key}.yml") - seeds = File.exist?(seed_path) ? YAML.load(File.read(seed_path)) : nil - compiled = Quby::Compiler.compile(key, sourcecode, path: path, seeds: seeds, lookup_tables: lookup_tables, last_update: last_update) + compiled = Quby::Compiler.compile(key, sourcecode, path: path, lookup_tables: lookup_tables, last_update: last_update) FileUtils.mkdir_p(File.join(output_path, key)) compiled[:outputs].each do |type, output| diff --git a/lib/quby/compiler.rb b/lib/quby/compiler.rb index f2acb81..a6dfa71 100644 --- a/lib/quby/compiler.rb +++ b/lib/quby/compiler.rb @@ -29,12 +29,11 @@ require 'quby/compiler/outputs' module Quby module Compiler - def self.compile(key, sourcecode, path: nil, seeds:, lookup_tables:, last_update: nil, &block) + def self.compile(key, sourcecode, path: nil, lookup_tables:, last_update: nil, &block) Quby::Compiler::Instance.new(lookup_tables: lookup_tables).compile( key: key, sourcecode: sourcecode, path: path, - seeds: seeds, last_update: last_update, &block ) diff --git a/lib/quby/compiler/instance.rb b/lib/quby/compiler/instance.rb index 7bad716..86cdae6 100644 --- a/lib/quby/compiler/instance.rb +++ b/lib/quby/compiler/instance.rb @@ -7,7 +7,7 @@ module Quby @lookup_tables = lookup_tables end - def compile(key:, sourcecode:, seeds:, path: nil, last_update: nil, &block) + def compile(key:, sourcecode:, path: nil, last_update: nil, &block) if block # defined in block for tests questionnaire = DSL.build(key, path: path, &block) else # sourcecode given as string @@ -41,7 +41,7 @@ module Quby seeds: Output.new( key: :seeds, filename: "seeds.yml", - content: YAML.dump(Outputs::SeedSerializer.new(questionnaire, seeds).generate), + content: YAML.dump(Outputs::SeedSerializer.new(questionnaire).generate), ), quby_frontend_v1: Output.new( key: :quby_frontend_v1, diff --git a/lib/quby/compiler/outputs/seed_serializer.rb b/lib/quby/compiler/outputs/seed_serializer.rb index 448e143..d674bad 100644 --- a/lib/quby/compiler/outputs/seed_serializer.rb +++ b/lib/quby/compiler/outputs/seed_serializer.rb @@ -7,23 +7,19 @@ module Quby attr_reader :questionnaire attr_reader :seeds - def initialize(questionnaire, seeds) + def initialize(questionnaire) @questionnaire = questionnaire @seeds = seeds || [] end def generate - roqua_keys = seeds.present? ? seeds.map { |seed| seed["key"] } : questionnaire.roqua_keys - - roqua_keys.map do |roqua_key| - seed = seeds.find { |seed| seed["key"] == roqua_key } || {} - + questionnaire.roqua_keys.map do |roqua_key| new_seed = Services::QubyProxy.new( questionnaire, quby_key: questionnaire.key, roqua_key: roqua_key, skip_score_keys_consistency_check: true - ).generate(seed) + ).generate Services::SeedDiff.new.apply_patch(new_seed, questionnaire.seeds_patch[roqua_key]) end diff --git a/lib/quby/compiler/services/quby_proxy.rb b/lib/quby/compiler/services/quby_proxy.rb index d3f7c61..ad0dad0 100644 --- a/lib/quby/compiler/services/quby_proxy.rb +++ b/lib/quby/compiler/services/quby_proxy.rb @@ -22,7 +22,8 @@ module Quby @options = options end - def generate(seed) + def generate + seed = {} question_titles = generate_question_titles d_qtypes = {} vars = [] diff --git a/spec/quby/compiler/outputs/seed_serializer_spec.rb b/spec/quby/compiler/outputs/seed_serializer_spec.rb index c11f34c..c13d92c 100644 --- a/spec/quby/compiler/outputs/seed_serializer_spec.rb +++ b/spec/quby/compiler/outputs/seed_serializer_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe Quby::Compiler::Outputs::SeedSerializer do it 'generates yaml' do questionnaire = dsl("test") { title "Test" } - serializer = described_class.new(questionnaire, []) + serializer = described_class.new(questionnaire) expect(serializer.generate).to match([a_hash_including('name' => "Test")]) end @@ -14,7 +14,7 @@ describe Quby::Compiler::Outputs::SeedSerializer do seeds_patch "testo1" => {"name" => "Override"} end - serializer = described_class.new(questionnaire, []) + serializer = described_class.new(questionnaire) expect(serializer.generate).to match([ a_hash_including('key' => 'testo1', 'name' => "Override"), a_hash_including('key' => 'testo2', 'name' => "Test") @@ -29,11 +29,11 @@ describe Quby::Compiler::Outputs::SeedSerializer do question :v_1, type: :string, title: ' 12\. vraag nummer 1' end end - serializer = described_class.new(questionnaire, []) + 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 -end \ No newline at end of file +end -- GitLab