lib/amqp.rb in amqp-0.7.0 vs lib/amqp.rb in amqp-0.7.1
- old
+ new
@@ -1,114 +1,10 @@
# encoding: utf-8
-require File.expand_path('../ext/em', __FILE__)
-require File.expand_path('../ext/blankslate', __FILE__)
-
-%w[ version buffer spec protocol frame client ].each do |file|
- require File.expand_path("../amqp/#{file}", __FILE__)
-end
-
-module AMQP
- class << self
- @logging = false
- attr_accessor :logging
- attr_reader :conn, :closing
- alias :closing? :closing
- alias :connection :conn
- end
-
- def self.connect *args
- Client.connect *args
- end
-
- def self.settings
- @settings ||= {
- # server address
- :host => '127.0.0.1',
- :port => PORT,
-
- # login details
- :user => 'guest',
- :pass => 'guest',
- :vhost => '/',
-
- # connection timeout
- :timeout => nil,
-
- # logging
- :logging => false,
-
- # ssl
- :ssl => false
- }
- end
-
- # Must be called to startup the connection to the AMQP server.
- #
- # The method takes several arguments and an optional block.
- #
- # This takes any option that is also accepted by EventMachine::connect.
- # Additionally, there are several AMQP-specific options.
- #
- # * :user => String (default 'guest')
- # The username as defined by the AMQP server.
- # * :pass => String (default 'guest')
- # The password for the associated :user as defined by the AMQP server.
- # * :vhost => String (default '/')
- # The virtual host as defined by the AMQP server.
- # * :timeout => Numeric (default nil)
- # Measured in seconds.
- # * :logging => true | false (default false)
- # Toggle the extremely verbose logging of all protocol communications
- # between the client and the server. Extremely useful for debugging.
- #
- # AMQP.start do
- # # default is to connect to localhost:5672
- #
- # # define queues, exchanges and bindings here.
- # # also define all subscriptions and/or publishers
- # # here.
- #
- # # this block never exits unless EM.stop_event_loop
- # # is called.
- # end
- #
- # Most code will use the MQ api. Any calls to MQ.direct / MQ.fanout /
- # MQ.topic / MQ.queue will implicitly call #start. In those cases,
- # it is sufficient to put your code inside of an EventMachine.run
- # block. See the code examples in MQ for details.
- #
- def self.start *args, &blk
- EM.run {
- @conn ||= connect *args
- @conn.callback(&blk) if blk
- @conn
- }
- end
-
- class << self
- alias :run :start
- end
-
- def self.stop
- if @conn and not @closing
- @closing = true
- EM.next_tick do
- @conn.close {
- yield if block_given?
- @conn = nil
- @closing = false
- }
- end
- end
- end
-
- def self.fork workers
- EM.fork(workers) do
- # clean up globals in the fork
- Thread.current[:mq] = nil
- AMQP.instance_variable_set('@conn', nil)
-
- yield
- end
- end
-end
+require "amqp/version"
+require "amqp/exceptions"
+require "amqp/connection"
+require "amqp/channel"
+require "amqp/exchange"
+require "amqp/queue"
+require "amqp/rpc"
+require "amqp/header"