Sha256: 6f1fe6c5812f7c18b9c3f02200fb01b0fb332e75dbe565e5aec6fff7a006391e

Contents?: true

Size: 1.36 KB

Versions: 8

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

module Kitchen::Directions::MoveSolutionsToAnswerKey
  class V1
    def bake(chapter:, metadata_source:, strategy:, append_to:, strategy_options: {}, solutions_plural: true)
      strategy =
        case strategy
        when :calculus
          Strategies::Calculus.new
        when :uphysics
          Strategies::UPhysics.new
        when :precalculus
          Strategies::Precalculus.new
        when :default
          Strategies::Default.new(strategy_options)
        else
          raise 'No such strategy'
        end

      solutions_or_solution = solutions_plural ? 'solutions' : 'solution'
      append_to.append(child:
        <<~HTML
          <div class="os-eob os-#{solutions_or_solution}-container" data-type="composite-page" \
          data-uuid-key=".#{solutions_or_solution}#{chapter.count_in(:book)}">
            <h2 data-type="document-title">
              <span class="os-text">#{I18n.t(:chapter)} #{chapter.count_in(:book)}</span>
            </h2>
            <div data-type="metadata" style="display: none;">
              <h1 data-type="document-title" itemprop="name">#{I18n.t(:chapter)} #{chapter.count_in(:book)}</h1>
              #{metadata_source.children_to_keep.copy.paste}
            </div>
          </div>
        HTML
      )
      strategy.bake(chapter: chapter, append_to: append_to.last_element)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
openstax_kitchen-9.2.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-9.1.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-9.0.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-8.0.1 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-8.0.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-7.0.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-6.1.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
openstax_kitchen-6.0.0 lib/kitchen/directions/move_solutions_to_answer_key/v1.rb