Sha256: aeb2b0fc05c7fa84f482413acda8e3f77c74a7cd0e8e58a7ccc1784c089fd384

Contents?: true

Size: 958 Bytes

Versions: 13

Compression:

Stored size: 958 Bytes

Contents

# frozen_string_literal: true

module Kitchen::Directions::BakeFreeResponse
  class V1
    renderable

    def bake(chapter:, metadata_source:, append_to:)
      @metadata_elements = metadata_source.children_to_keep.copy

      @free_response_clipboard = Kitchen::Clipboard.new
      chapter.non_introduction_pages.each do |page|
        free_response_questions = page.free_response
        next if free_response_questions.none?

        free_response_questions.search('h3').trash
        title = Kitchen::Directions::EocSectionTitleLinkSnippet.v1(page: page)
        free_response_questions.each do |free_response_question|
          free_response_question.prepend(child: title)
          free_response_question.cut(to: @free_response_clipboard)
        end
      end

      append_to_element = append_to || chapter
      @title_tag = append_to ? 'h3' : 'h2'

      append_to_element.append(child: render(file: 'free_response.xhtml.erb'))
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
openstax_kitchen-10.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-9.2.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-9.1.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-9.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-8.0.1 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-8.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-7.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-6.1.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-6.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-5.0.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-4.1.1 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-4.1.0 lib/kitchen/directions/bake_free_response/v1.rb
openstax_kitchen-4.0.0 lib/kitchen/directions/bake_free_response/v1.rb