Sha256: 98c499eb60f118192fe82aeaa0feeecb2509451b64dc4e8cd77309b6cbb89806

Contents?: true

Size: 661 Bytes

Versions: 6

Compression:

Stored size: 661 Bytes

Contents

require_relative "../../logger"
require_relative "customizer"

class StageBase
  def initialize(problem)
    @problem = problem
    @customs = get_customs(@problem)
    @customizer = Customizer.new(@problem)
    @counter = @problem.questions.size
  end

  def counter
    @counter += 1
  end

  def customize(...)
    @customizer.call(...)
  end
  
  private
  
  def get_customs(problem)
    return [] if problem.cases.nil?
    
    customs = []
    vars = problem.varnames
    problem.cases.each do |acase|
      custom = {}
      vars.each_with_index { |varname, index| custom[varname] = acase[index] }
      customs << custom
    end
    customs
  end  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
asker-tool-2.9.4 lib/asker/ai/problem/stage_base.rb
asker-tool-2.9.3 lib/asker/ai/problem/stage_base.rb
asker-tool-2.9.2 lib/asker/ai/problem/stage_base.rb
asker-tool-2.9.1 lib/asker/ai/problem/stage_base.rb
asker-tool-2.9.0 lib/asker/ai/problem/stage_base.rb
asker-tool-2.8.0 lib/asker/ai/problem/stage_base.rb