Sha256: a317fdd602ddd8f05b0fcbbbe8b6d139d8b10e67a7a1dbab2a8126626703e3fa

Contents?: true

Size: 938 Bytes

Versions: 6

Compression:

Stored size: 938 Bytes

Contents

require 'quby/compiler/services/quby_proxy'

module Quby
  module Compiler
    module Outputs
      class SeedSerializer
        attr_reader :questionnaire
        attr_reader :seeds

        def initialize(questionnaire, seeds)
          @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 } || {}

            new_seed = Services::QubyProxy.new(
              questionnaire,
              quby_key: questionnaire.key,
              roqua_key: roqua_key,
              skip_score_keys_consistency_check: true
            ).generate(seed)

            Services::SeedDiff.new.apply_patch(new_seed, questionnaire.seeds_patch[roqua_key])
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
quby-compiler-0.3.6 lib/quby/compiler/outputs/seed_serializer.rb
quby-compiler-0.3.5 lib/quby/compiler/outputs/seed_serializer.rb
quby-compiler-0.3.4 lib/quby/compiler/outputs/seed_serializer.rb
quby-compiler-0.3.3 lib/quby/compiler/outputs/seed_serializer.rb
quby-compiler-0.3.1 lib/quby/compiler/outputs/seed_serializer.rb
quby-compiler-0.2.1 lib/quby/compiler/outputs/seed_serializer.rb