module Splash::Transports

Splash Transports namespace

Splash Transports namespace

Public Instance Methods

get_default_client() click to toggle source

factory for Splash::Transports::Rabbitmq::Client @return [Splash::Transports::Rabbitmq::Client|Hash] Client or Exiter case :configuration_error

# File lib/splash/transports.rb, line 32
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 configuration error : #{transport}"}
  end
end
get_default_subscriber(options) click to toggle source

factory for Splash::Transports::Rabbitmq::Subscriber @param [Hash] options @return [Splash::Transports::Rabbitmq::Subscriber|Hash] Subscriber or Exiter case :configuration_error

# File lib/splash/transports.rb, line 14
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]} configuration error : #{transport}"}
  end
end