Class: RabbitMQManager

Inherits:
Object
  • Object
show all
Defined in:
lib/rabbitmq_manager.rb,
lib/rabbitmq_manager/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(url, ssl_options = nil) ⇒ RabbitMQManager

Returns a new instance of RabbitMQManager.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rabbitmq_manager.rb', line 7

def initialize(url, ssl_options = nil)
  opts = {
    :headers => { 
      'accept' => 'application/json',
      'Content-Type' => 'application/json'
    },
    :ssl => ssl_options
  }

  @conn = Faraday::Connection.new(url, opts) do |builder|
    builder.use Faraday::Response::RaiseError
    builder.use FaradayMiddleware::EncodeJson
    builder.use FaradayMiddleware::ParseJson, :content_type => /\bjson$/
    builder.adapter Faraday.default_adapter
  end
end

Instance Method Details

#node(name) ⇒ Object



49
50
51
# File 'lib/rabbitmq_manager.rb', line 49

def node(name)
  @conn.get(url :nodes, name).body
end

#nodesObject



45
46
47
# File 'lib/rabbitmq_manager.rb', line 45

def nodes
  @conn.get(url :nodes).body
end

#overviewObject



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

def overview
  @conn.get(url :overview).body
end

#queue(vhost, name) ⇒ Object



32
33
34
# File 'lib/rabbitmq_manager.rb', line 32

def queue(vhost, name)
  @conn.get(url :queues, vhost, name).body
end

#queue_create(vhost, name, durable = false, auto_delete = false, args = {}) ⇒ Object



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

def queue_create(vhost, name, durable = false, auto_delete = false, args = {})
  opts = { durable: durable, auto_delete: auto_delete, arguments: args }
  @conn.put(url(:queues, vhost, name), opts).body
end

#queue_delete(vhost, name) ⇒ Object



41
42
43
# File 'lib/rabbitmq_manager.rb', line 41

def queue_delete(vhost, name)
  @conn.delete(url :queues, vhost, name).body
end

#queues(vhost = '') ⇒ Object



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

def queues(vhost = '')
  @conn.get(url :queues, vhost).body
end

#user(name) ⇒ Object



73
74
75
# File 'lib/rabbitmq_manager.rb', line 73

def user(name)
  @conn.get(url :users, name).body
end

#user_create(name, password, tags = '') ⇒ Object



77
78
79
80
81
82
# File 'lib/rabbitmq_manager.rb', line 77

def user_create(name, password, tags = '')
  @conn.put(url(:users, name), {
    :password => password, 
    :tags => tags 
  }).body
end

#user_delete(name) ⇒ Object



84
85
86
# File 'lib/rabbitmq_manager.rb', line 84

def user_delete(name)
  @conn.delete(url :users, name).body
end

#user_permissions(name) ⇒ Object



96
97
98
# File 'lib/rabbitmq_manager.rb', line 96

def user_permissions(name)
  @conn.get(url :users, name, :permissions).body
end

#user_set_permissions(name, vhost, configure, write, read) ⇒ Object



88
89
90
91
92
93
94
# File 'lib/rabbitmq_manager.rb', line 88

def user_set_permissions(name, vhost, configure, write, read)
  @conn.put(url(:permissions, vhost, name), {
    :configure => configure,
    :write => write, 
    :read => read
  }).body
end

#usersObject



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

def users
  @conn.get(url :users).body
end

#vhost(name) ⇒ Object



57
58
59
# File 'lib/rabbitmq_manager.rb', line 57

def vhost(name)
  @conn.get(url :vhosts, name).body
end

#vhost_create(name) ⇒ Object



61
62
63
# File 'lib/rabbitmq_manager.rb', line 61

def vhost_create(name)
  @conn.put(url :vhosts, name).body
end

#vhost_delete(name) ⇒ Object



65
66
67
# File 'lib/rabbitmq_manager.rb', line 65

def vhost_delete(name)
  @conn.delete(url :vhosts, name).body
end

#vhostsObject



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

def vhosts
  @conn.get(url :vhosts).body
end