Module: MagicPipe

Defined in:
lib/magic_pipe/transports/sqs.rb,
lib/magic_pipe.rb,
lib/magic_pipe/client.rb,
lib/magic_pipe/codecs.rb,
lib/magic_pipe/config.rb,
lib/magic_pipe/errors.rb,
lib/magic_pipe/loaders.rb,
lib/magic_pipe/metrics.rb,
lib/magic_pipe/senders.rb,
lib/magic_pipe/version.rb,
lib/magic_pipe/envelope.rb,
lib/magic_pipe/transports.rb,
lib/magic_pipe/codecs/base.rb,
lib/magic_pipe/codecs/json.rb,
lib/magic_pipe/codecs/yaml.rb,
lib/magic_pipe/senders/base.rb,
lib/magic_pipe/senders/sync.rb,
lib/magic_pipe/codecs/thrift.rb,
lib/magic_pipe/senders/async.rb,
lib/magic_pipe/transports/log.rb,
lib/magic_pipe/transports/base.rb,
lib/magic_pipe/transports/debug.rb,
lib/magic_pipe/transports/https.rb,
lib/magic_pipe/transports/kafka.rb,
lib/magic_pipe/transports/multi.rb,
lib/magic_pipe/senders/metrics_mixin.rb,
lib/magic_pipe/loaders/simple_active_record.rb

Overview

Defined Under Namespace

Modules: Codecs, Loaders, Senders, Transports Classes: Client, Config, ConfigurationError, Envelope, Error, LoaderError, Metrics

Constant Summary collapse

VERSION =
"0.4.1"

Class Method Summary collapse

Class Method Details

.build(&block) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/magic_pipe.rb', line 34

def build(&block)
  unless block_given?
    raise ConfigurationError, "No configuration block provided."
  end

  config = Config.new(&block)
  client = Client.new(config)
  store_client(client)
  client
end

.clear_clientsObject



30
31
32
# File 'lib/magic_pipe.rb', line 30

def clear_clients
  @store = {}
end

.lookup_client(name) ⇒ Object



18
19
20
# File 'lib/magic_pipe.rb', line 18

def lookup_client(name)
  @store[name.to_sym]
end

.store_client(client) ⇒ Object

All this should be loaded before Sidekiq or Puma start forking threads.



25
26
27
28
# File 'lib/magic_pipe.rb', line 25

def store_client(client)
  @store ||= {}
  @store[client.name.to_sym] = client
end