File: rails.rb

package info (click to toggle)
ruby-amqp 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 2,508 kB
  • sloc: ruby: 8,272; sh: 11; makefile: 10
file content (23 lines) | stat: -rw-r--r-- 612 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require "yaml"

module AMQP
  module Integration
    class Rails

      def self.start(options_or_uri = {}, &block)
        yaml     = YAML.load_file(File.join(::Rails.root, "config", "amqp.yml"))
        settings = yaml.fetch(::Rails.env, Hash.new).symbolize_keys

        arg      = if options_or_uri.is_a?(Hash)
                     settings.merge(options_or_uri)[:uri]
                   else
                     settings[:uri] || options_or_uri
                   end

        EventMachine.next_tick do
          AMQP.start(arg, &block)
        end
      end
    end # Rails
  end # Integration
end # AMQP