happening icon indicating copy to clipboard operation
happening copied to clipboard

Making it easier to use EM's callback chain

Open rbriski opened this issue 13 years ago • 1 comments

I've made 2 small changes.

First, the deferrable object is passed back after execute is called. Second, I've set the deferred state appropriately after each internal callback. Together these changes allow someone to create a much richer callback chain than is currently possible with on_success and on_error.

Here's an example of what I'm doing with it

s = Sssnake.new
s.on_message do | file |
  bname = File.basename(local)
  item = Happening::S3::Item.new(
    'a.bucket', 
    "some/path/#{bname}",
    :aws_access_key_id => Settings[:aws][:aws_access_key_id], 
    :aws_secret_access_key => Settings[:aws][:aws_secret_key]
  )
  df = item.put(File.read(local))

  df
end

In this example, the file upload is wrapped in a "message received" event from a queue. Is this something that fits how this library is being used?

rbriski avatar Aug 07 '11 06:08 rbriski

I just merged another pull requests that already returns the response/deferrable object.

Your addition of decorating the response/deferrable objects sounds great.

Could you please update your patch to work with the latest master and add some tests for this functionality?

jweiss avatar Aug 07 '11 10:08 jweiss