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/serializers/json.rb,
lib/hutch/tracers/newrelic.rb,
lib/hutch/adapters/march_hare.rb,
lib/hutch/tracers/null_tracer.rb,
lib/hutch/serializers/identity.rb,
lib/hutch/acknowledgements/base.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,
lib/hutch/acknowledgements/nack_on_all_failures.rb

Defined Under Namespace

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

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.brokerObject



49
50
51
# File 'lib/hutch.rb', line 49

def self.broker
  @broker
end

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



38
39
40
41
42
43
# File 'lib/hutch.rb', line 38

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

.connected?Boolean

Returns:

  • (Boolean)


53
54
55
56
57
# File 'lib/hutch.rb', line 53

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

.consumersObject



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

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

.disconnectObject



45
46
47
# File 'lib/hutch.rb', line 45

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

.global_propertiesObject



34
35
36
# File 'lib/hutch.rb', line 34

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

.global_properties=(properties) ⇒ Object



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

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

.loggerObject



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

def self.logger
  Hutch::Logging.logger
end

.publish(*args) ⇒ Object



59
60
61
# File 'lib/hutch.rb', line 59

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

.register_consumer(consumer) ⇒ Object



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

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