lib/acfs/request/callbacks.rb in acfs-0.5.1 vs lib/acfs/request/callbacks.rb in acfs-0.6.0

- old
+ new

@@ -19,11 +19,11 @@ # @yield [ Acfs::Response ] # # @return [ Acfs::Request ] The request itself. # def on_complete(&block) - callbacks << block if block_given? + callbacks.insert 0, block if block_given? self end # Return array of all callbacks. # @@ -36,11 +36,16 @@ # Trigger all callback for given response. # # @return [ Acfs::Request ] The request itself. # def complete!(response) - callbacks.each { |cb| cb.call response } + call_callback response, 0 self + end + + private + def call_callback(res, index) + callbacks[index].call res, proc { |res| call_callback res, index + 1 } if index < callbacks.size end end end end