Module: Fleck

Defined in:
lib/fleck.rb,
lib/fleck/core.rb,
lib/fleck/client.rb,
lib/fleck/version.rb,
lib/fleck/consumer.rb,
lib/fleck/configuration.rb,
lib/fleck/core/consumer.rb,
lib/fleck/client/request.rb,
lib/fleck/client/response.rb,
lib/fleck/core/consumer/base.rb,
lib/fleck/core/consumer/logger.rb,
lib/fleck/core/consumer/actions.rb,
lib/fleck/core/consumer/request.rb,
lib/fleck/utilities/host_rating.rb,
lib/fleck/core/consumer/response.rb,
lib/fleck/core/consumer/decorators.rb,
lib/fleck/core/consumer/validation.rb,
lib/fleck/core/consumer/action_param.rb,
lib/fleck/core/consumer/configuration.rb,
lib/fleck/core/consumer/helpers_definers.rb,
lib/fleck/core/consumer/response_helpers.rb

Overview

Open ‘Fleck` module to add `HostRating` class.

Defined Under Namespace

Modules: Core, Loggable Classes: Client, Configuration, Consumer, HostRating

Constant Summary collapse

VERSION =
'2.1.3'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject (readonly)

Returns the value of attribute config.



37
38
39
# File 'lib/fleck.rb', line 37

def config
  @config
end

.consumersObject (readonly)

Returns the value of attribute consumers.



37
38
39
# File 'lib/fleck.rb', line 37

def consumers
  @consumers
end

Class Method Details

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

Yields:



39
40
41
42
# File 'lib/fleck.rb', line 39

def configure
  yield @config if block_given?
  @config
end

.connection(options = {}) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/fleck.rb', line 54

def connection(options = {})
  opts = Fleck.config.default_options.merge(options)
  key  = "ampq://#{opts[:user]}@#{opts[:host]}:#{opts[:port]}#{opts[:vhost]}"
  conn = @connections[key]
  if !conn || conn.closed?
    opts[:logger] = Fleck.logger.clone
    opts[:logger].progname += '::Bunny'
    logger.info "New connection #{key}"
    conn = Bunny.new(opts)
    conn.start
    @connections[key] = conn
  end

  conn
end

.loggerObject



44
45
46
# File 'lib/fleck.rb', line 44

def logger
  @config.logger
end

.register_consumer(consumer_class) ⇒ Object



48
49
50
51
52
# File 'lib/fleck.rb', line 48

def register_consumer(consumer_class)
  return if @consumers.include?(consumer_class)

  @consumers << consumer_class
end

.terminateObject



70
71
72
73
74
75
76
77
78
79
80
# File 'lib/fleck.rb', line 70

def terminate
  @connections.each do |key, connection|
    Fleck.logger.info "Closing connection #{key}"
    connection.close
  rescue StandardError => e
    Fleck.logger.error e.inspect
  end
  @connections.clear

  true
end