Module: Artsy::EventService::RabbitMQConnection

Included in:
Publisher
Defined in:
lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb

Instance Method Summary collapse

Instance Method Details

#bunny_paramsObject



24
25
26
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 24

def bunny_params
  config.tls ? tls_params : no_tls_params
end

#configObject



42
43
44
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 42

def config
  Artsy::EventService.config
end

#connect_to_rabbit {|conn| ... } ⇒ Object

Connect, do something and close the connection

Yields:

  • (conn)


13
14
15
16
17
18
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 13

def connect_to_rabbit
  conn = create_conn
  conn.start
  yield(conn)
  conn.stop
end

#create_connObject

get a new RabbitMQ Client



8
9
10
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 8

def create_conn
  Bunny.new(rabbitmq_url, **bunny_params)
end

#no_tls_paramsObject



38
39
40
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 38

def no_tls_params
  {}
end

#rabbitmq_urlObject



20
21
22
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 20

def rabbitmq_url
  config.rabbitmq_url
end

#tls_paramsObject



28
29
30
31
32
33
34
35
36
# File 'lib/artsy-eventservice/artsy/event_service/rabbitmq_connection.rb', line 28

def tls_params
  {
    tls: config.tls,
    tls_cert: config.tls_cert,
    tls_key: config.tls_key,
    tls_ca_certificates: [config.tls_ca_certificate],
    verify_peer: config.verify_peer
  }
end