51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/onceler/recorder.rb', line 51
def record!
Onceler.recording = true
@tape = @group_class.new
@tape.send(:setup_fixtures)
@tape.send :extend, Recordable
@tape.copy_from(parent_tape) if parent_tape
run_before_hooks(:record, @tape)
@recordings.each do |recording|
recording.prepare_medium!(@tape)
end
stack = -> do
@recordings.each do |recording|
recording.record_onto!(@tape)
end
end
arounds.inject(stack) do |old_stack, hook|
-> { @tape.instance_exec(old_stack, &hook) }
end.call
run_after_hooks(:record, @tape)
@data = @tape.__data
ensure
Onceler.recording = false
end
|