Module: Circuitry

Defined in:
lib/circuitry.rb,
lib/circuitry/topic.rb,
lib/circuitry/message.rb,
lib/circuitry/version.rb,
lib/circuitry/processor.rb,
lib/circuitry/publisher.rb,
lib/circuitry/locks/base.rb,
lib/circuitry/locks/noop.rb,
lib/circuitry/subscriber.rb,
lib/circuitry/locks/redis.rb,
lib/circuitry/locks/memory.rb,
lib/circuitry/services/sns.rb,
lib/circuitry/services/sqs.rb,
lib/circuitry/configuration.rb,
lib/circuitry/topic_creator.rb,
lib/circuitry/concerns/async.rb,
lib/circuitry/locks/memcache.rb,
lib/circuitry/processors/forker.rb,
lib/circuitry/processors/batcher.rb,
lib/circuitry/processors/threader.rb

Defined Under Namespace

Modules: Concerns, Locks, Processor, Processors, Services Classes: Configuration, Message, NotSupportedError, PublishError, Publisher, SubscribeError, Subscriber, Topic, TopicCreator

Constant Summary collapse

VERSION =
'1.4.0'

Class Method Summary collapse

Class Method Details

.config(&block) ⇒ Object



16
17
18
19
20
# File 'lib/circuitry.rb', line 16

def self.config(&block)
  @config ||= Configuration.new
  block.call(@config) if block_given?
  @config
end

.flushObject



30
31
32
33
34
# File 'lib/circuitry.rb', line 30

def self.flush
  Processors.constants.each do |const|
    Processors.const_get(const).flush
  end
end

.publish(topic_name, object, options = {}) ⇒ Object



22
23
24
# File 'lib/circuitry.rb', line 22

def self.publish(topic_name, object, options = {})
  Publisher.new(options).publish(topic_name, object)
end

.subscribe(queue, options = {}, &block) ⇒ Object



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

def self.subscribe(queue, options = {}, &block)
  Subscriber.new(queue, options).subscribe(&block)
end