# Carrot A synchronous amqp client. Based on Aman's amqp client: [http://github.com/tmm1/amqp/tree/master] (http://github.com/tmm1/amqp/tree/master) ## Motivation This client does not use eventmachine so no background thread necessary. As a result, it is much easier to use from script/console and Passenger. It also solves the problem of buffering messages and ack responses. For more details see [this thread] (http://groups.google.com/group/ruby-amqp/browse_thread/thread/fdae324a0ebb1961/fa185fdce1841b68). There is currently no way to prevent buffering using eventmachine. Support for prefetch is still unreliable. ## Example require 'secure_carrot' q = Carrot.queue('name') 10.times do |num| q.publish(num.to_s) end puts "Queued #{q.message_count} messages" puts while msg = q.pop(:ack => true) puts "Popping: #{msg}" q.ack end Carrot.stop ## Encrypting and Decrypting messages Symmetric encryption is used here which means the same password is used for encrypting and decrypting the message. puts "Encrypt and send a message" q.send_message('Hello Carrot', :password => 'secure') #=> "qrbSyJHx6JhBQtXKsWvm/A==\n" puts "Receiving and decrypting message. If you don't specify the password you will read an encrypted message." q.receive_message(:password => 'secure') #=> "Hello Carrot" # LICENSE Copyright (c) 2009 Amos Elliston, Geni.com; Published under The MIT License, see License