Class: Huck::Sender

Inherits:
Object
  • Object
show all
Defined in:
lib/huck/sender.rb

Overview

The base sender class

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#configObject

Returns the value of attribute config.



5
6
7
# File 'lib/huck/sender.rb', line 5

def config
  @config
end

Class Method Details

.factory(kwargs = {}) ⇒ Object

Given a sender’s name (or no name), return a new sender instance

Parameters:

name

The name of the sender, or nil to guess

config

A configuration hash

Returns:

A Huck::Sender instance



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/huck/sender.rb', line 18

def self.factory kwargs = {}
  name = Huck::getarg kwargs, :name, nil
  config = Huck::getarg kwargs, :config, {}

  name = 'sqs' if name.nil?

  case name
  when 'sqs'
    s = Senders::SQSSender.new
  when 'rabbitmq'
    s = Senders::RabbitMQSender.new
  else
    raise Huck::Error, "bad sender: #{name}"
  end

  s.config = config
  return s
end