Class: Mcrain::Rabbitmq

Inherits:
Base
  • Object
show all
Defined in:
lib/mcrain/rabbitmq.rb

Instance Method Summary collapse

Methods inherited from Base

#build_docker_command, #clear_old_container, #container_image, #container_name, #docker_extra_options, #find_portno, #host, #logger, #port, #run_container, #start, #stop, #wait

Instance Method Details

#build_client_argsObject



40
41
42
# File 'lib/mcrain/rabbitmq.rb', line 40

def build_client_args
  ["http://#{host}:#{port}", {username: username, password: password}]
end

#build_docker_command_optionsObject



12
13
14
# File 'lib/mcrain/rabbitmq.rb', line 12

def build_docker_command_options
  "-d -p #{runtime_port}:5672 -p #{port}:15672 --name #{container_name}"
end

#clientObject



35
36
37
38
# File 'lib/mcrain/rabbitmq.rb', line 35

def client
  require client_require
  @client ||= RabbitMQ::HTTP::Client.new(*build_client_args)
end

#client_requireObject



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

def client_require
  'rabbitmq/http/client'
end

#client_scriptObject



48
49
50
51
# File 'lib/mcrain/rabbitmq.rb', line 48

def client_script
  client
  "RabbitMQ::HTTP::Client.new(*#{build_client_args.inspect})"
end

#passwordObject



31
32
33
# File 'lib/mcrain/rabbitmq.rb', line 31

def password
  "guest"
end

#runtime_portObject



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

def runtime_port
  @runtime_port ||= find_portno
end

#runtime_urlObject



24
25
26
# File 'lib/mcrain/rabbitmq.rb', line 24

def runtime_url
  "rabbitmq://#{host}:#{runtime_port}"
end

#urlObject



20
21
22
# File 'lib/mcrain/rabbitmq.rb', line 20

def url
  "http://#{username}:#{password}@#{host}:#{port}"
end

#usernameObject



28
29
30
# File 'lib/mcrain/rabbitmq.rb', line 28

def username
  "guest"
end

#wait_for_readyObject



53
54
55
# File 'lib/mcrain/rabbitmq.rb', line 53

def wait_for_ready
  client.list_users
end