rabbitmqadmin-cli 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,58 +4,61 @@ class RabbitMqAdminCli
4
4
  def initialize admin_user = 'guest', admin_password = 'guest'
5
5
  @admin_user = admin_user
6
6
  @admin_password = admin_password
7
+ @verbose = false
7
8
  end
8
9
 
10
+ attr_accessor :verbose
11
+
9
12
  def delete_exchanges
10
- list_exchanges.each { |exchange| `#{run vhost} delete exchange name=#{exchange[:name]}` }
13
+ list_exchanges.each { |exchange| execute "#{stub vhost} delete exchange name=#{exchange[:name]}" }
11
14
  end
12
15
 
13
16
  def delete_queues
14
- list_queues.each { |queue| `#{run vhost} delete queue name=#{queue[:name]}` }
17
+ list_queues.each { |queue| execute "#{stub vhost} delete queue name=#{queue[:name]}" }
15
18
  end
16
19
 
17
20
  def initialize_user vhost, user, password, tags = ''
18
21
  raise "Can't initialize the admin user '#{user}' without crippling your access" if user == @admin_user
19
22
 
20
- `#{run} delete user name=#{user}` if user_exists? user
21
- `#{run} declare user name=#{user} password=#{password} tags=#{tags}`
23
+ execute "#{stub} delete user name=#{user}" if user_exists? user
24
+ execute "#{stub} declare user name=#{user} password=#{password} tags=#{tags}"
22
25
  add_user_to_vhost vhost, user
23
26
  end
24
27
 
25
28
  def initialize_vhost vhost
26
- `#{run} delete vhost name=#{vhost}` if vhost_exists? vhost
27
- `#{run} declare vhost name=#{vhost}`
29
+ execute "#{stub} delete vhost name=#{vhost}" if vhost_exists? vhost
30
+ execute "#{stub} declare vhost name=#{vhost}"
28
31
  add_user_to_vhost vhost, @admin_user
29
32
  end
30
33
 
31
- def run vhost = nil
34
+ def stub vhost = nil
32
35
  vhost_arg = vhost.nil? ? '' : "-V #{vhost}"
33
36
 
34
37
  "rabbitmqadmin -u #{@admin_user} -p #{@admin_password} -f raw_json #{vhost_arg}"
35
38
  end
36
39
 
37
40
  def list_bindings vhost
38
- parse `#{run vhost} list bindings`
41
+ parse execute("#{stub vhost} list bindings")
39
42
  end
40
43
 
41
44
  def list_exchanges vhost
42
- parse `#{run vhost} list exchanges`
45
+ parse execute("#{stub vhost} list exchanges")
43
46
  end
44
47
 
45
48
  def list_queues vhost
46
- parse `#{run vhost} list queues`
49
+ parse execute("#{stub vhost} list queues")
47
50
  end
48
51
 
49
52
  def list_users
50
- parse `#{run} list users`
53
+ parse execute("#{stub} list users")
51
54
  end
52
55
 
53
56
  def list_vhosts
54
- parse `#{run} list vhosts`
57
+ parse execute("#{stub} list vhosts")
55
58
  end
56
59
 
57
60
  def purge_queues
58
- list_queues.each { |queue| `#{run vhost} purge queue name=#{queue[:name]}` }
61
+ list_queues.each { |queue| execute "#{stub vhost} purge queue name=#{queue[:name]}" }
59
62
  end
60
63
 
61
64
  def user_exists? user
@@ -68,11 +71,16 @@ class RabbitMqAdminCli
68
71
 
69
72
  private
70
73
 
71
- def parse json
72
- JSON.parse json, :symbolize_names => true
74
+ def add_user_to_vhost vhost, user
75
+ execute "#{stub} -V #{vhost} declare permission vhost=#{vhost} user=#{user} configure=\"\.\*\" write=\"\.\*\" read=\"\.\*\""
73
76
  end
74
77
 
75
- def add_user_to_vhost vhost, user
76
- `#{run} -V #{vhost} declare permission vhost=#{vhost} user=#{user} configure=\"\.\*\" write=\"\.\*\" read=\"\.\*\"`
78
+ def execute command
79
+ puts command if @verbose
80
+ `#{command}`
81
+ end
82
+
83
+ def parse json
84
+ JSON.parse json, :symbolize_names => true
77
85
  end
78
86
  end
@@ -1,3 +1,3 @@
1
1
  module RabbitMqAdminCli
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'rabbitmqadmin-cli'
3
- s.version = '1.0.1'
3
+ s.version = '1.0.2'
4
4
  s.platform = RUBY_PLATFORM.to_s == 'java' ? 'java' : Gem::Platform::RUBY
5
5
  s.authors = ['Lee Henson', 'Guy Boertje']
6
6
  s.email = ['lee.m.henson@gmail.com', 'guyboertje@gmail.com']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbitmqadmin-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-09-28 00:00:00.000000000 Z
13
+ date: 2011-10-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
17
- requirement: &74032390 !ruby/object:Gem::Requirement
17
+ requirement: &70289769797740 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *74032390
25
+ version_requirements: *70289769797740
26
26
  description: Requires rabbitmqadmin to be in your path
27
27
  email:
28
28
  - lee.m.henson@gmail.com