if we don't require the version file the same way as in the gemspec, the version file will be loaded twice. and we hate warnings.
NOTE: This file is rather a temporary hack to fix github.com/ruby-amqp/bunny/issues/9 then some permanent solution. It's mostly copied from the AMQP and AMQ Client gems. Later on we should use AMQ Client directly and just inherit from the AMQ::Client::Sync::Consumer class.
Print deprecation warning.
# File lib/bunny.rb, line 29 def self.deprecation_warning(method, version, explanation) warn "~ #{method} will be removed in Bunny #{version}. #{explanation}" end
Instantiates new Bunny::Client
# File lib/bunny.rb, line 35 def self.new(connection_string_or_opts = Hash.new, opts = Hash.new) # Set up Bunny according to AMQP spec version required if connection_string_or_opts.respond_to?(:keys) && opts.empty? opts = connection_string_or_opts end spec_version = opts[:spec] || '08' # Return client setup(spec_version, connection_string_or_opts, opts) end
Runs a code block using a short-lived connection
# File lib/bunny.rb, line 49 def self.run(opts = {}, &block) raise ArgumentError, 'Bunny#run requires a block' unless block # Set up Bunny according to AMQP spec version required spec_version = opts[:spec] || '08' client = setup(spec_version, opts) begin client.start block.call(client) ensure client.stop end # Return success :run_ok end
Returns the Bunny version number
# File lib/bunny.rb, line 24 def self.version VERSION end