Class: PushyDaemon::Proxy

Inherits:
Endpoint show all
Includes:
NewRelic::Agent::Instrumentation::ControllerInstrumentation
Defined in:
lib/pushyd/proxy.rb

Instance Attribute Summary collapse

Attributes inherited from Endpoint

#logger

Instance Method Summary collapse

Constructor Details

#initializeProxy

Returns a new instance of Proxy.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/pushyd/proxy.rb', line 10

def initialize
  # Init
  super
  @exchanges = {}

  # Init ASCII table
  @table = Terminal::Table.new
  @table.title = "Propagation rules"
  @table.headings = ["rule", "topic", "route", "relay", "created queue", "description"]
  @table.align_column(5, :right)

  # Start connexion to RabbitMQ and create channel
  @channel = connect_channel Conf.bus
  log_info "channel connected"

  # Check config
  config_rules = Conf[:rules]
  if config_rules.nil? || !config_rules.is_a?(Hash)
    log_error "prepare: empty [rules] section"
  else
    log_info "found rules: #{config_rules.keys.join(', ')}"

    # Subsribe for each and every rule/route
    config_rules.each do |name, rule|
      rule[:name] = name
      channel_subscribe rule
    end
  end

  # Send config table to logs
  log_info "proxy initialized", @table.to_s.lines
end

Instance Attribute Details

#tableObject

Returns the value of attribute table.



8
9
10
# File 'lib/pushyd/proxy.rb', line 8

def table
  @table
end