1module Spec
2 module Story
3 class StepMother
4 def initialize
5 @steps = StepGroup.new
6 end
7
8 def use(new_step_group)
9 @steps << new_step_group
10 end
11
12 def store(type, step)
13 @steps.add(type, step)
14 end
15
16 def find(type, name)
17 if @steps.find(type, name).nil?
18 @steps.add(type,
19 Step.new(name) do
20 raise Spec::Example::ExamplePendingError.new("Unimplemented step: #{name}")
21 end
22 )
23 end
24 @steps.find(type, name)
25 end
26
27 def clear
28 @steps.clear
29 end
30
31 def empty?
32 @steps.empty?
33 end
34
35 end
36 end
37end