Sha256: d3bb7b91be88cbd5829b982c5d4f344180d594f00d09aa15f883d29cfc26f005

Contents?: true

Size: 1.41 KB

Versions: 2

Compression:

Stored size: 1.41 KB

Contents

# coding: utf-8

module Splash
  module Transports
    include Splash::Config

    def get_default_subscriber(options)
      config = get_config.transports
      transport = config[:active]
      host = config[transport][:host]
      port = config[transport][:port]
      unless verify_service host: host, port: port then
        return  { :case => :service_dependence_missing, :more => "RabbitMQ Transport not available." }
       end
      aclass = "Splash::Transports::#{transport.capitalize}::Subscriber"
      begin
        return Kernel.const_get(aclass)::new(options)
      rescue
        return { :case => :configuration_error, :more => "Transport specified for queue #{options[:queue]} inexistant : #{transport}"}
      end
    end

    def get_default_client
      config = get_config.transports
      transport = config[:active]
      host = config[transport][:host]
      port = config[transport][:port]
      unless verify_service host: host, port: port then
        return  { :case => :service_dependence_missing, :more => "RabbitMQ Transport not available." }
       end
      aclass = "Splash::Transports::#{transport.to_s.capitalize}::Client"
      begin
        return Kernel.const_get(aclass)::new
      rescue
        return { :case => :configuration_error, :more => "Transport specified inexistant : #{transport}"}
      end
    end

  end
end

Dir[File.dirname(__FILE__) + '/transports/*.rb'].each {|file| require file  }

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
prometheus-splash-0.3.0 lib/splash/transports.rb
prometheus-splash-0.2.0 lib/splash/transports.rb