module Kitchen::Directions::BakeNumberedNotes

Public Class Methods

bake_note_exercise(note:, exercise:, divider: ' ', suppress_solution: false) click to toggle source

Used by V1, V2, V3

# File lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb, line 22
def self.bake_note_exercise(note:, exercise:, divider: ' ', suppress_solution: false)
  exercise.add_class('unnumbered')
  number = note.first('.os-number').text.gsub(/#/, '')

  # bake problem
  exercise.problem.wrap_children('div', class: 'os-problem-container')
  exercise.search('[data-type="commentary"]').each(&:trash)
  return unless exercise.solution

  # bake solution in place
  if suppress_solution
    exercise.add_class('os-hasSolution')
    exercise.solution.trash
  else
    BakeNumberedExercise.bake_solution_v1(
      exercise: exercise,
      number: number,
      divider: divider
    )
  end
end
bake_note_injected_question(note:, question:) click to toggle source
# File lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb, line 44
def self.bake_note_injected_question(note:, question:)
  question.add_class('unnumbered')
  number = note.first('.os-number').text.gsub(/#/, '')
  Kitchen::Directions::BakeInjectedExerciseQuestion.v1(
    question: question, number: number, only_number_solution: true
  )
end
v1(book:, classes:, cases: false) click to toggle source
# File lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb, line 6
def self.v1(book:, classes:, cases: false)
  V1.new.bake(book: book, classes: classes, cases: cases)
end
v2(book:, classes:) click to toggle source
# File lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb, line 10
def self.v2(book:, classes:)
  V2.new.bake(book: book, classes: classes)
end
v3(book:, classes:, suppress_solution: true) click to toggle source

V3 bakes notes tied to an example immediately previous (“Try It” notes) Must be called AFTER BakeExercises

# File lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb, line 17
def self.v3(book:, classes:, suppress_solution: true)
  V3.new.bake(book: book, classes: classes, suppress_solution: suppress_solution)
end