Class: Cogger::Hub

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/cogger/hub.rb

Overview

Loads configuration and simultaneously sends messages to multiple streams. :reek:TooManyInstanceVariables :reek:TooManyMethods

Instance Method Summary collapse

Constructor Details

#initialize(registry: Cogger, model: Configuration, **attributes) ⇒ Hub

Returns a new instance of Hub.



38
39
40
41
42
43
44
# File 'lib/cogger/hub.rb', line 38

def initialize(registry: Cogger, model: Configuration, **attributes)
  @registry = registry
  @configuration = model[**find_formatter(attributes)]
  @primary = configuration.to_logger
  @streams = [@primary]
  @mutex = Mutex.new
end

Instance Method Details

#abort(message = nil, **payload, &block) ⇒ Object



64
65
66
67
# File 'lib/cogger/hub.rb', line 64

def abort(message = nil, **payload, &block)
  error(message, **payload, &block) if message || !payload.empty? || block
  exit false
end

#add(level, message = nil) ⇒ Object



69
70
71
# File 'lib/cogger/hub.rb', line 69

def add(level, message = nil, **, &)
  log(Logger::SEV_LABEL.fetch(level, "ANY").downcase, message, **, &)
end

#add_stream(**attributes) ⇒ Object



46
47
48
49
50
# File 'lib/cogger/hub.rb', line 46

def add_stream **attributes
  attributes[:id] = configuration.id
  streams.append configuration.with(**find_formatter(attributes)).to_logger
  self
end

#any(message = nil) ⇒ Object Also known as: unknown



62
# File 'lib/cogger/hub.rb', line 62

def any(message = nil, **, &) = log(__method__, message, **, &)

#debug(message = nil) ⇒ Object



52
# File 'lib/cogger/hub.rb', line 52

def debug(message = nil, **, &) = log(__method__, message, **, &)

#error(message = nil) ⇒ Object



58
# File 'lib/cogger/hub.rb', line 58

def error(message = nil, **, &) = log(__method__, message, **, &)

#fatal(message = nil) ⇒ Object



60
# File 'lib/cogger/hub.rb', line 60

def fatal(message = nil, **, &) = log(__method__, message, **, &)

#info(message = nil) ⇒ Object



54
# File 'lib/cogger/hub.rb', line 54

def info(message = nil, **, &) = log(__method__, message, **, &)

#inspectObject



77
78
79
# File 'lib/cogger/hub.rb', line 77

def inspect
  %(#<#{self.class} #{configuration.inspect.delete_prefix! "#<Cogger::Configuration "})
end

#rereadObject



75
# File 'lib/cogger/hub.rb', line 75

def reread = primary.reread

#warn(message = nil) ⇒ Object



56
# File 'lib/cogger/hub.rb', line 56

def warn(message = nil, **, &) = log(__method__, message, **, &)