Class Spec::DSL::CompositeProcBuilder
In: lib/spec/dsl/composite_proc_builder.rb
Parent: Array

Methods

new   proc  

Public Class methods

[Source]

   # File lib/spec/dsl/composite_proc_builder.rb, line 4
4:       def initialize(callbacks=[])
5:         push(*callbacks)
6:       end

Public Instance methods

[Source]

    # File lib/spec/dsl/composite_proc_builder.rb, line 8
 8:       def proc(&error_handler)
 9:         parts = self
10:         Proc.new do
11:           parts.collect do |part|
12:             begin
13:               if part.is_a?(UnboundMethod)
14:                 part.bind(self).call
15:               else
16:                 instance_eval(&part)
17:               end
18:             rescue Exception => e
19:               raise e unless error_handler
20:               error_handler.call(e)
21:               e
22:             end
23:           end
24:         end
25:       end

[Validate]