Sha256: 8437e42ced5d501b3866bb37cbc42ffe05bbd5dba7ae857abaa5b1723ae9fc17
Contents?: true
Size: 1.81 KB
Versions: 3
Compression:
Stored size: 1.81 KB
Contents
class Carrot module AMQP HEADER = "AMQP".freeze VERSION_MAJOR = 8 VERSION_MINOR = 0 PORT = 5672 end end $:.unshift File.expand_path(File.dirname(File.expand_path(__FILE__))) require 'amqp/spec' require 'amqp/buffer' require 'amqp/exchange' require 'amqp/frame' require 'amqp/header' require 'amqp/queue' require 'amqp/server' require 'amqp/protocol' require 'encrypted_strings' class Carrot @logging = false class << self attr_accessor :logging end def self.logging? @logging end class Error < StandardError; end def initialize(opts = {}) @opts = opts end def queue(name, opts = {}) queues[name] ||= AMQP::Queue.new(self, name, opts) end def server @server ||= AMQP::Server.new(@opts) end def stop server.close @server = nil end alias :reset :stop def queues @queues ||= {} end def direct(name = 'amq.direct', opts = {}) exchanges[name] ||= AMQP::Exchange.new(self, :direct, name, opts) end def topic(name = 'amq.topic', opts = {}) exchanges[name] ||= AMQP::Exchange.new(self, :topic, name, opts) end def headers(name = 'amq.match', opts = {}) exchanges[name] ||= AMQP::Exchange.new(self, :headers, name, opts) end def exchanges @exchanges ||= {} end private def log(*args) return unless Carrot.logging? pp args puts end end #-- convenience wrapper (read: HACK) for thread-local Carrot object class Carrot def Carrot.default #-- XXX clear this when connection is closed Thread.current[:carrot] ||= Carrot.new end # Allows for calls to all Carrot instance methods. This implicitly calls # Carrot.new so that a new channel is allocated for subsequent operations. def Carrot.method_missing(meth, *args, &blk) Carrot.default.__send__(meth, *args, &blk) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
secure_carrot-0.2.0 | lib/secure_carrot.rb |
secure_carrot-0.1.2 | lib/secure_carrot.rb |
secure_carrot-0.1.0 | lib/carrot.rb |