Module: Hutch

Defined in:
lib/hutch.rb,
lib/hutch/cli.rb,
lib/hutch/broker.rb,
lib/hutch/config.rb,
lib/hutch/worker.rb,
lib/hutch/adapter.rb,
lib/hutch/adapter.rb,
lib/hutch/logging.rb,
lib/hutch/message.rb,
lib/hutch/tracers.rb,
lib/hutch/version.rb,
lib/hutch/consumer.rb,
lib/hutch/exceptions.rb,
lib/hutch/adapters/bunny.rb,
lib/hutch/error_handlers.rb,
lib/hutch/tracers/newrelic.rb,
lib/hutch/adapters/march_hare.rb,
lib/hutch/tracers/null_tracer.rb,
lib/hutch/error_handlers/logger.rb,
lib/hutch/error_handlers/sentry.rb,
lib/hutch/error_handlers/airbrake.rb,
lib/hutch/error_handlers/honeybadger.rb

Defined Under Namespace

Modules: Adapters, Config, Consumer, ErrorHandlers, Logging, Tracers Classes: AuthenticationError, Broker, CLI, ConnectionError, Exception, Message, PublishError, UnknownAttributeError, Worker, WorkerSetupError

Constant Summary collapse

Adapter =
Adapters::BunnyAdapter
VERSION =
'0.18.0'.freeze

Class Method Summary collapse

Class Method Details

.brokerObject



47
48
49
# File 'lib/hutch.rb', line 47

def self.broker
  @broker
end

.connect(options = {}, config = Hutch::Config) ⇒ Object



36
37
38
39
40
41
# File 'lib/hutch.rb', line 36

def self.connect(options = {}, config = Hutch::Config)
  unless connected?
    @broker = Hutch::Broker.new(config)
    @broker.connect(options)
  end
end

.connected?Boolean

Returns:

  • (Boolean)


51
52
53
54
55
# File 'lib/hutch.rb', line 51

def self.connected?
  return false unless broker
  return false unless broker.connection
  broker.connection.open?
end

.consumersObject



20
21
22
# File 'lib/hutch.rb', line 20

def self.consumers
  @consumers ||= []
end

.disconnectObject



43
44
45
# File 'lib/hutch.rb', line 43

def self.disconnect
  @broker.disconnect if @broker
end

.global_propertiesObject



32
33
34
# File 'lib/hutch.rb', line 32

def self.global_properties
  @global_properties ||= {}
end

.global_properties=(properties) ⇒ Object



28
29
30
# File 'lib/hutch.rb', line 28

def self.global_properties=(properties)
  @global_properties = properties
end

.loggerObject



24
25
26
# File 'lib/hutch.rb', line 24

def self.logger
  Hutch::Logging.logger
end

.publish(*args) ⇒ Object



57
58
59
# File 'lib/hutch.rb', line 57

def self.publish(*args)
  broker.publish(*args)
end

.register_consumer(consumer) ⇒ Object



16
17
18
# File 'lib/hutch.rb', line 16

def self.register_consumer(consumer)
  self.consumers << consumer
end