Module: NatsWork

Defined in:
lib/natswork.rb,
lib/natswork/job.rb,
lib/natswork/client.rb,
lib/natswork/errors.rb,
lib/natswork/logging.rb,
lib/natswork/message.rb,
lib/natswork/railtie.rb,
lib/natswork/version.rb,
lib/natswork/registry.rb,
lib/natswork/connection.rb,
lib/natswork/serializer.rb,
lib/natswork/compression.rb,
lib/natswork/configuration.rb,
lib/natswork/client/version.rb,
lib/natswork/circuit_breaker.rb,
lib/natswork/connection_pool.rb,
lib/natswork/jetstream_manager.rb,
lib/natswork/rails/console_helpers.rb,
lib/natswork/rails/generators/job_generator.rb

Overview

Core NatsWork module

Defined Under Namespace

Modules: Compression, Generators, Logging, Rails, Serializer Classes: CircuitBreakedConnection, CircuitBreaker, CircuitBreakerError, CircuitOpenError, Client, Configuration, ConfigurationError, Connection, ConnectionError, ConnectionPool, Error, FatalError, InvalidMessageError, JSONFormatter, JetStreamError, JetStreamManager, JetStreamMessage, Job, JobError, LoggedConnection, Message, PoolShutdownError, PoolTimeoutError, Railtie, Registry, RetryableError, SerializationError, TimeoutError, UnknownJobError

Constant Summary collapse

VERSION =
'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



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

def logger
  config.logger || Logger.new($stdout)
end

Class Method Details

.configObject



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

def config
  @config ||= Configuration.instance
end

.configure {|config| ... } ⇒ Object

Yields:



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

def configure
  yield(config) if block_given?
  config
end

.configure_logging(options = {}) ⇒ Object



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/natswork/logging.rb', line 96

def configure_logging(options = {})
  if options[:logger]
    self.logger = options[:logger]
  else
    output = options[:output] || $stdout
    level = options[:level] || ::Logger::INFO
    format = options[:format] || :text

    self.logger = ::Logger.new(output)
    logger.level = level
    logger.progname = options[:progname] || 'NatsWork'

    logger.formatter = JSONFormatter.new if format == :json
  end
end