class Leg::Tutorial
Attributes
config[RW]
pages[R]
Public Class Methods
new(config = nil)
click to toggle source
# File lib/leg/tutorial.rb, line 6 def initialize(config = nil) @config = config @pages = [] end
Public Instance Methods
<<(page)
click to toggle source
# File lib/leg/tutorial.rb, line 11 def <<(page) @pages << page self end
clear()
click to toggle source
# File lib/leg/tutorial.rb, line 16 def clear @pages.clear end
num_steps()
click to toggle source
# File lib/leg/tutorial.rb, line 30 def num_steps @pages.map(&:steps).map(&:length).sum end
step(number)
click to toggle source
# File lib/leg/tutorial.rb, line 20 def step(number) cur = 1 @pages.each do |page| page.steps.each do |step| return step if cur == number cur += 1 end end end
transform_diffs(transformers, &progress_block)
click to toggle source
# File lib/leg/tutorial.rb, line 34 def transform_diffs(transformers, &progress_block) step_num = 1 @pages.each do |page| page.steps.each do |step| step.diffs.map! do |diff| transformers.inject(diff) do |acc, transformer| transformer.transform(acc) end end progress_block.(step_num) if progress_block step_num += 1 end end end