specinfra 2.0.0.beta15 → 2.0.0.beta16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/lib/specinfra.rb +1 -1
  3. data/lib/specinfra/command/aix/base/file.rb +15 -13
  4. data/lib/specinfra/command/aix/base/group.rb +5 -3
  5. data/lib/specinfra/command/aix/base/package.rb +7 -5
  6. data/lib/specinfra/command/aix/base/port.rb +5 -3
  7. data/lib/specinfra/command/aix/base/service.rb +7 -5
  8. data/lib/specinfra/command/aix/base/user.rb +10 -8
  9. data/lib/specinfra/command/arch/base/file.rb +4 -2
  10. data/lib/specinfra/command/arch/base/package.rb +17 -15
  11. data/lib/specinfra/command/arch/base/service.rb +3 -1
  12. data/lib/specinfra/command/base.rb +70 -68
  13. data/lib/specinfra/command/base/cron.rb +8 -6
  14. data/lib/specinfra/command/base/file.rb +94 -92
  15. data/lib/specinfra/command/base/group.rb +8 -6
  16. data/lib/specinfra/command/base/host.rb +18 -16
  17. data/lib/specinfra/command/base/mail_alias.rb +5 -3
  18. data/lib/specinfra/command/base/package.rb +36 -34
  19. data/lib/specinfra/command/base/port.rb +7 -5
  20. data/lib/specinfra/command/base/process.rb +10 -9
  21. data/lib/specinfra/command/base/routing_table.rb +6 -4
  22. data/lib/specinfra/command/base/service.rb +19 -17
  23. data/lib/specinfra/command/base/user.rb +24 -22
  24. data/lib/specinfra/command/darwin/base/file.rb +35 -33
  25. data/lib/specinfra/command/darwin/base/package.rb +12 -10
  26. data/lib/specinfra/command/darwin/base/port.rb +5 -3
  27. data/lib/specinfra/command/darwin/base/service.rb +7 -5
  28. data/lib/specinfra/command/debian/base/package.rb +16 -14
  29. data/lib/specinfra/command/debian/base/service.rb +5 -3
  30. data/lib/specinfra/command/fedora/base/service.rb +7 -6
  31. data/lib/specinfra/command/fedora/v15/service.rb +3 -1
  32. data/lib/specinfra/command/freebsd/base/file.rb +8 -6
  33. data/lib/specinfra/command/freebsd/base/package.rb +13 -11
  34. data/lib/specinfra/command/freebsd/base/port.rb +5 -3
  35. data/lib/specinfra/command/freebsd/base/service.rb +4 -2
  36. data/lib/specinfra/command/freebsd/v10/package.rb +13 -11
  37. data/lib/specinfra/command/gentoo/base/package.rb +4 -2
  38. data/lib/specinfra/command/gentoo/base/service.rb +9 -7
  39. data/lib/specinfra/command/linux/base/file.rb +10 -8
  40. data/lib/specinfra/command/linux/base/interface.rb +13 -11
  41. data/lib/specinfra/command/linux/base/iptables.rb +9 -7
  42. data/lib/specinfra/command/linux/base/kernel_module.rb +4 -2
  43. data/lib/specinfra/command/linux/base/lxc_container.rb +7 -5
  44. data/lib/specinfra/command/linux/base/selinux.rb +9 -7
  45. data/lib/specinfra/command/linux/base/zfs.rb +3 -1
  46. data/lib/specinfra/command/nixos/base/package.rb +12 -10
  47. data/lib/specinfra/command/nixos/base/service.rb +3 -1
  48. data/lib/specinfra/command/openbsd/base/file.rb +31 -29
  49. data/lib/specinfra/command/openbsd/base/interface.rb +8 -13
  50. data/lib/specinfra/command/openbsd/base/mail_alias.rb +4 -2
  51. data/lib/specinfra/command/openbsd/base/package.rb +10 -8
  52. data/lib/specinfra/command/openbsd/base/port.rb +4 -2
  53. data/lib/specinfra/command/openbsd/base/service.rb +7 -5
  54. data/lib/specinfra/command/openbsd/base/user.rb +8 -6
  55. data/lib/specinfra/command/opensuse/base/service.rb +3 -1
  56. data/lib/specinfra/command/plamo/base/package.rb +7 -5
  57. data/lib/specinfra/command/plamo/base/service.rb +6 -4
  58. data/lib/specinfra/command/redhat/base/file.rb +5 -3
  59. data/lib/specinfra/command/redhat/base/package.rb +14 -12
  60. data/lib/specinfra/command/redhat/base/service.rb +4 -2
  61. data/lib/specinfra/command/redhat/base/yumrepo.rb +7 -5
  62. data/lib/specinfra/command/redhat/v5/iptables.rb +7 -5
  63. data/lib/specinfra/command/redhat/v7/service.rb +3 -1
  64. data/lib/specinfra/command/smartos/base/package.rb +10 -8
  65. data/lib/specinfra/command/smartos/base/service.rb +7 -5
  66. data/lib/specinfra/command/solaris/base/cron.rb +8 -6
  67. data/lib/specinfra/command/solaris/base/file.rb +15 -13
  68. data/lib/specinfra/command/solaris/base/group.rb +5 -3
  69. data/lib/specinfra/command/solaris/base/host.rb +7 -5
  70. data/lib/specinfra/command/solaris/base/ipfilter.rb +4 -2
  71. data/lib/specinfra/command/solaris/base/ipnat.rb +5 -3
  72. data/lib/specinfra/command/solaris/base/package.rb +7 -5
  73. data/lib/specinfra/command/solaris/base/port.rb +9 -7
  74. data/lib/specinfra/command/solaris/base/service.rb +14 -13
  75. data/lib/specinfra/command/solaris/base/user.rb +10 -8
  76. data/lib/specinfra/command/solaris/base/zfs.rb +3 -1
  77. data/lib/specinfra/command/solaris/v10/file.rb +33 -31
  78. data/lib/specinfra/command/solaris/v10/group.rb +4 -2
  79. data/lib/specinfra/command/solaris/v10/host.rb +9 -7
  80. data/lib/specinfra/command/solaris/v10/package.rb +7 -5
  81. data/lib/specinfra/command/solaris/v10/user.rb +8 -6
  82. data/lib/specinfra/command/suse/base/package.rb +14 -12
  83. data/lib/specinfra/command/suse/base/service.rb +4 -2
  84. data/lib/specinfra/command/ubuntu/base/ppa.rb +11 -9
  85. data/lib/specinfra/command/ubuntu/base/service.rb +4 -2
  86. data/lib/specinfra/command/windows/base.rb +11 -10
  87. data/lib/specinfra/command/windows/base/feature.rb +11 -9
  88. data/lib/specinfra/command/windows/base/file.rb +72 -71
  89. data/lib/specinfra/command/windows/base/group.rb +7 -5
  90. data/lib/specinfra/command/windows/base/host.rb +18 -16
  91. data/lib/specinfra/command/windows/base/hot_fix.rb +13 -11
  92. data/lib/specinfra/command/windows/base/iis_app_pool.rb +11 -9
  93. data/lib/specinfra/command/windows/base/iis_website.rb +26 -24
  94. data/lib/specinfra/command/windows/base/package.rb +7 -5
  95. data/lib/specinfra/command/windows/base/port.rb +11 -9
  96. data/lib/specinfra/command/windows/base/process.rb +5 -3
  97. data/lib/specinfra/command/windows/base/registry_key.rb +36 -35
  98. data/lib/specinfra/command/windows/base/scheduled_task.rb +6 -4
  99. data/lib/specinfra/command/windows/base/service.rb +21 -19
  100. data/lib/specinfra/command/windows/base/user.rb +16 -14
  101. data/lib/specinfra/runner.rb +1 -2
  102. data/lib/specinfra/version.rb +1 -1
  103. data/spec/command/base_spec.rb +12 -4
  104. data/spec/command/module/systemd_spec.rb +14 -4
  105. data/spec/command/redhat/interface_spec.rb +1 -1
  106. metadata +1 -2
  107. data/lib/specinfra/command/smartos/tmp.rb +0 -8
@@ -1,10 +1,12 @@
1
1
  class Specinfra::Command::Base::Group < Specinfra::Command::Base
2
- def check_exists(group)
3
- "getent group #{escape(group)}"
4
- end
2
+ class << self
3
+ def check_exists(group)
4
+ "getent group #{escape(group)}"
5
+ end
5
6
 
6
- def check_has_gid(group, gid)
7
- regexp = "^#{group}"
8
- "getent group | grep -w -- #{escape(regexp)} | cut -f 3 -d ':' | grep -w -- #{escape(gid)}"
7
+ def check_has_gid(group, gid)
8
+ regexp = "^#{group}"
9
+ "getent group | grep -w -- #{escape(regexp)} | cut -f 3 -d ':' | grep -w -- #{escape(gid)}"
10
+ end
9
11
  end
10
12
  end
@@ -1,23 +1,25 @@
1
1
  class Specinfra::Command::Base::Host < Specinfra::Command::Base
2
- def check_is_resolvable(name, type)
3
- if type == "dns"
4
- "nslookup -timeout=1 #{escape(name)}"
5
- elsif type == "hosts"
6
- "grep -w -- #{escape(name)} /etc/hosts"
7
- else
8
- "getent hosts #{escape(name)}"
2
+ class << self
3
+ def check_is_resolvable(name, type)
4
+ if type == "dns"
5
+ "nslookup -timeout=1 #{escape(name)}"
6
+ elsif type == "hosts"
7
+ "grep -w -- #{escape(name)} /etc/hosts"
8
+ else
9
+ "getent hosts #{escape(name)}"
10
+ end
9
11
  end
10
- end
11
12
 
12
- def check_is_reachable(host, port, proto, timeout)
13
- if port.nil?
14
- "ping -w #{escape(timeout)} -c 2 -n #{escape(host)}"
15
- else
16
- "nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
13
+ def check_is_reachable(host, port, proto, timeout)
14
+ if port.nil?
15
+ "ping -w #{escape(timeout)} -c 2 -n #{escape(host)}"
16
+ else
17
+ "nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
18
+ end
17
19
  end
18
- end
19
20
 
20
- def get_ipaddress(name)
21
- "getent hosts #{escape(name)} | awk '{print $1}'"
21
+ def get_ipaddress(name)
22
+ "getent hosts #{escape(name)} | awk '{print $1}'"
23
+ end
22
24
  end
23
25
  end
@@ -1,6 +1,8 @@
1
1
  class Specinfra::Command::Base::MailAlias < Specinfra::Command::Base
2
- def check_is_aliased_to(recipient, target)
3
- target = "[[:space:]]#{target}"
4
- "getent aliases #{escape(recipient)} | grep -- #{escape(target)}$"
2
+ class << self
3
+ def check_is_aliased_to(recipient, target)
4
+ target = "[[:space:]]#{target}"
5
+ "getent aliases #{escape(recipient)} | grep -- #{escape(target)}$"
6
+ end
5
7
  end
6
8
  end
@@ -1,42 +1,44 @@
1
1
  class Specinfra::Command::Base::Package < Specinfra::Command::Base
2
- def check_is_installed_by_gem(name, version=nil)
3
- regexp = "^#{name}"
4
- cmd = "gem list --local | grep -w -- #{escape(regexp)}"
5
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
6
- cmd
7
- end
2
+ class << self
3
+ def check_is_installed_by_gem(name, version=nil)
4
+ regexp = "^#{name}"
5
+ cmd = "gem list --local | grep -w -- #{escape(regexp)}"
6
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
7
+ cmd
8
+ end
8
9
 
9
- def check_is_installed_by_npm(name, version=nil)
10
- cmd = "npm ls #{escape(name)} -g"
11
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
12
- cmd
13
- end
10
+ def check_is_installed_by_npm(name, version=nil)
11
+ cmd = "npm ls #{escape(name)} -g"
12
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
13
+ cmd
14
+ end
14
15
 
15
- def check_is_installed_by_pecl(name, version=nil)
16
- regexp = "^#{name}"
17
- cmd = "pecl list | grep -w -- #{escape(regexp)}"
18
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
19
- cmd
20
- end
16
+ def check_is_installed_by_pecl(name, version=nil)
17
+ regexp = "^#{name}"
18
+ cmd = "pecl list | grep -w -- #{escape(regexp)}"
19
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
20
+ cmd
21
+ end
21
22
 
22
- def check_is_installed_by_pear(name, version=nil)
23
- regexp = "^#{name}"
24
- cmd = "pear list | grep -w -- #{escape(regexp)}"
25
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
26
- cmd
27
- end
23
+ def check_is_installed_by_pear(name, version=nil)
24
+ regexp = "^#{name}"
25
+ cmd = "pear list | grep -w -- #{escape(regexp)}"
26
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
27
+ cmd
28
+ end
28
29
 
29
- def check_is_installed_by_pip(name, version=nil)
30
- regexp = "^#{name}"
31
- cmd = "pip list | grep -w -- #{escape(regexp)}"
32
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
33
- cmd
34
- end
30
+ def check_is_installed_by_pip(name, version=nil)
31
+ regexp = "^#{name}"
32
+ cmd = "pip list | grep -w -- #{escape(regexp)}"
33
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
34
+ cmd
35
+ end
35
36
 
36
- def check_is_installed_by_cpan(name, version=nil)
37
- regexp = "^#{name}"
38
- cmd = "cpan -l | grep -w -- #{escape(regexp)}"
39
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
40
- cmd
37
+ def check_is_installed_by_cpan(name, version=nil)
38
+ regexp = "^#{name}"
39
+ cmd = "cpan -l | grep -w -- #{escape(regexp)}"
40
+ cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
41
+ cmd
42
+ end
41
43
  end
42
44
  end
@@ -1,8 +1,10 @@
1
1
  class Specinfra::Command::Base::Port < Specinfra::Command::Base
2
- def check_is_listening(port, options={})
3
- pattern = ":#{port}"
4
- pattern = " #{options[:local_address]}#{pattern}" if options[:local_address]
5
- pattern = "^#{options[:protocol]} .*#{pattern}" if options[:protocol]
6
- "netstat -tunl | grep -- #{escape(pattern)}"
2
+ class << self
3
+ def check_is_listening(port, options={})
4
+ pattern = ":#{port}"
5
+ pattern = " #{options[:local_address]}#{pattern}" if options[:local_address]
6
+ pattern = "^#{options[:protocol]} .*#{pattern}" if options[:protocol]
7
+ "netstat -tunl | grep -- #{escape(pattern)}"
8
+ end
7
9
  end
8
10
  end
@@ -1,14 +1,15 @@
1
1
  class Specinfra::Command::Base::Process < Specinfra::Command::Base
2
- def get(process, opts)
3
- "ps -C #{escape(process)} -o #{opts[:format]} | head -1"
4
- end
2
+ class << self
3
+ def get(process, opts)
4
+ "ps -C #{escape(process)} -o #{opts[:format]} | head -1"
5
+ end
5
6
 
6
- def check_is_running(process)
7
- "ps aux | grep -w -- #{escape(process)} | grep -qv grep"
8
- end
7
+ def check_is_running(process)
8
+ "ps aux | grep -w -- #{escape(process)} | grep -qv grep"
9
+ end
9
10
 
10
- def check_count(process,count)
11
- "test $(ps aux | grep -w -- #{escape(process)} | grep -v grep | wc -l) -eq #{escape(count)}"
11
+ def check_count(process,count)
12
+ "test $(ps aux | grep -w -- #{escape(process)} | grep -v grep | wc -l) -eq #{escape(count)}"
13
+ end
12
14
  end
13
-
14
15
  end
@@ -1,7 +1,9 @@
1
1
  class Specinfra::Command::Base::RoutingTable < Specinfra::Command::Base
2
- def check_has_entry(destination)
3
- "ip route | grep -E '^#{destination} |^default '"
4
- end
2
+ class << self
3
+ def check_has_entry(destination)
4
+ "ip route | grep -E '^#{destination} |^default '"
5
+ end
5
6
 
6
- alias :get_entry :check_has_entry
7
+ alias :get_entry :check_has_entry
8
+ end
7
9
  end
@@ -1,25 +1,27 @@
1
1
  class Specinfra::Command::Base::Service < Specinfra::Command::Base
2
- def check_is_running(service)
3
- "service #{escape(service)} status"
4
- end
2
+ class << self
3
+ def check_is_running(service)
4
+ "service #{escape(service)} status"
5
+ end
5
6
 
6
- def check_is_installed(service, level=3)
7
- raise NotImplementedError.new
8
- end
7
+ def check_is_installed(service, level=3)
8
+ raise NotImplementedError.new
9
+ end
9
10
 
10
- def check_is_running_under_supervisor(service)
11
- "supervisorctl status #{escape(service)} | grep RUNNING"
12
- end
11
+ def check_is_running_under_supervisor(service)
12
+ "supervisorctl status #{escape(service)} | grep RUNNING"
13
+ end
13
14
 
14
- def check_is_running_under_upstart(service)
15
- "initctl status #{escape(service)} | grep running"
16
- end
15
+ def check_is_running_under_upstart(service)
16
+ "initctl status #{escape(service)} | grep running"
17
+ end
17
18
 
18
- def check_is_monitored_by_monit(service)
19
- "monit status"
20
- end
19
+ def check_is_monitored_by_monit(service)
20
+ "monit status"
21
+ end
21
22
 
22
- def check_is_monitored_by_god(service)
23
- "god status #{escape(service)}"
23
+ def check_is_monitored_by_god(service)
24
+ "god status #{escape(service)}"
25
+ end
24
26
  end
25
27
  end
@@ -1,31 +1,33 @@
1
1
  class Specinfra::Command::Base::User < Specinfra::Command::Base
2
- def check_exists(user)
3
- "id #{escape(user)}"
4
- end
2
+ class << self
3
+ def check_exists(user)
4
+ "id #{escape(user)}"
5
+ end
5
6
 
6
- def check_belongs_to_group(user, group)
7
- "id #{escape(user)} | awk '{print $3}' | grep -- #{escape(group)}"
8
- end
7
+ def check_belongs_to_group(user, group)
8
+ "id #{escape(user)} | awk '{print $3}' | grep -- #{escape(group)}"
9
+ end
9
10
 
10
- def check_belongs_to_primary_group(user, group)
11
- "id -gn #{escape(user)}| grep ^#{escape(group)}$"
12
- end
11
+ def check_belongs_to_primary_group(user, group)
12
+ "id -gn #{escape(user)}| grep ^#{escape(group)}$"
13
+ end
13
14
 
14
- def check_has_uid(user, uid)
15
- regexp = "^uid=#{uid}("
16
- "id #{escape(user)} | grep -- #{escape(regexp)}"
17
- end
15
+ def check_has_uid(user, uid)
16
+ regexp = "^uid=#{uid}("
17
+ "id #{escape(user)} | grep -- #{escape(regexp)}"
18
+ end
18
19
 
19
- def check_has_home_directory(user, path_to_home)
20
- "getent passwd #{escape(user)} | cut -f 6 -d ':' | grep -w -- #{escape(path_to_home)}"
21
- end
20
+ def check_has_home_directory(user, path_to_home)
21
+ "getent passwd #{escape(user)} | cut -f 6 -d ':' | grep -w -- #{escape(path_to_home)}"
22
+ end
22
23
 
23
- def check_has_login_shell(user, path_to_shell)
24
- "getent passwd #{escape(user)} | cut -f 7 -d ':' | grep -w -- #{escape(path_to_shell)}"
25
- end
24
+ def check_has_login_shell(user, path_to_shell)
25
+ "getent passwd #{escape(user)} | cut -f 7 -d ':' | grep -w -- #{escape(path_to_shell)}"
26
+ end
26
27
 
27
- def check_has_authorized_key(user, key)
28
- key.sub!(/\s+\S*$/, '') if key.match(/^\S+\s+\S+\s+\S*$/)
29
- "grep -w -- #{escape(key)} ~#{escape(user)}/.ssh/authorized_keys"
28
+ def check_has_authorized_key(user, key)
29
+ key.sub!(/\s+\S*$/, '') if key.match(/^\S+\s+\S+\s+\S*$/)
30
+ "grep -w -- #{escape(key)} ~#{escape(user)}/.ssh/authorized_keys"
31
+ end
30
32
  end
31
33
  end
@@ -1,37 +1,39 @@
1
1
  class Specinfra::Command::Darwin::Base::File < Specinfra::Command::Base::File
2
- def check_is_accessible_by_user(file, user, access)
3
- "sudo -u #{user} -s /bin/test -#{access} #{file}"
4
- end
5
-
6
- def check_has_md5checksum(file, expected)
7
- "openssl md5 #{escape(file)} | cut -d'=' -f2 | cut -c 2- | grep -E ^#{escape(expected)}$"
8
- end
9
-
10
- def check_has_sha256checksum(file, expected)
11
- "openssl sha256 #{escape(file)} | cut -d'=' -f2 | cut -c 2- | grep -E ^#{escape(expected)}$"
12
- end
13
-
14
- def check_is_linked_to(link, target)
15
- "stat -f %Y #{escape(link)} | grep -- #{escape(target)}"
16
- end
17
-
18
- def check_has_mode(file, mode)
19
- regexp = "^#{mode}$"
20
- "stat -f%Lp #{escape(file)} | grep -- #{escape(regexp)}"
21
- end
22
-
23
- def check_is_owned_by(file, owner)
24
- regexp = "^#{owner}$"
25
- "stat -f %Su #{escape(file)} | grep -- #{escape(regexp)}"
26
- end
27
-
28
- def check_is_grouped(file, group)
29
- regexp = "^#{group}$"
30
- "stat -f %Sg #{escape(file)} | grep -- #{escape(regexp)}"
31
- end
32
-
33
- def get_mode(file)
34
- "stat -f%Lp #{escape(file)}"
2
+ class << self
3
+ def check_is_accessible_by_user(file, user, access)
4
+ "sudo -u #{user} -s /bin/test -#{access} #{file}"
5
+ end
6
+
7
+ def check_has_md5checksum(file, expected)
8
+ "openssl md5 #{escape(file)} | cut -d'=' -f2 | cut -c 2- | grep -E ^#{escape(expected)}$"
9
+ end
10
+
11
+ def check_has_sha256checksum(file, expected)
12
+ "openssl sha256 #{escape(file)} | cut -d'=' -f2 | cut -c 2- | grep -E ^#{escape(expected)}$"
13
+ end
14
+
15
+ def check_is_linked_to(link, target)
16
+ "stat -f %Y #{escape(link)} | grep -- #{escape(target)}"
17
+ end
18
+
19
+ def check_has_mode(file, mode)
20
+ regexp = "^#{mode}$"
21
+ "stat -f%Lp #{escape(file)} | grep -- #{escape(regexp)}"
22
+ end
23
+
24
+ def check_is_owned_by(file, owner)
25
+ regexp = "^#{owner}$"
26
+ "stat -f %Su #{escape(file)} | grep -- #{escape(regexp)}"
27
+ end
28
+
29
+ def check_is_grouped(file, group)
30
+ regexp = "^#{group}$"
31
+ "stat -f %Sg #{escape(file)} | grep -- #{escape(regexp)}"
32
+ end
33
+
34
+ def get_mode(file)
35
+ "stat -f%Lp #{escape(file)}"
36
+ end
35
37
  end
36
38
  end
37
39
 
@@ -1,15 +1,17 @@
1
1
  class Specinfra::Command::Darwin::Base::Package < Specinfra::Command::Base::Package
2
- def check_is_installed(package, version=nil)
3
- escaped_package = escape(package)
4
- if version
5
- cmd = "/usr/local/bin/brew info #{escaped_package} | grep -E '^\/usr\/local\/Cellar\/#{escaped_package}\/#{escape(version)}'"
6
- else
7
- cmd = "/usr/local/bin/brew list -1 | grep -E '^#{escaped_package}$'"
2
+ class << self
3
+ def check_is_installed(package, version=nil)
4
+ escaped_package = escape(package)
5
+ if version
6
+ cmd = "/usr/local/bin/brew info #{escaped_package} | grep -E '^\/usr\/local\/Cellar\/#{escaped_package}\/#{escape(version)}'"
7
+ else
8
+ cmd = "/usr/local/bin/brew list -1 | grep -E '^#{escaped_package}$'"
9
+ end
10
+ cmd
8
11
  end
9
- cmd
10
- end
11
12
 
12
- def install(package)
13
- cmd = "brew install '#{package}'"
13
+ def install(package)
14
+ cmd = "brew install '#{package}'"
15
+ end
14
16
  end
15
17
  end
@@ -1,6 +1,8 @@
1
1
  class Specinfra::Command::Darwin::Base::Port < Specinfra::Command::Base::Port
2
- def check_is_listening(port, options={})
3
- regexp = ":#{port} "
4
- "lsof -nP -iTCP -sTCP:LISTEN | grep -- #{escape(regexp)}"
2
+ class << self
3
+ def check_is_listening(port, options={})
4
+ regexp = ":#{port} "
5
+ "lsof -nP -iTCP -sTCP:LISTEN | grep -- #{escape(regexp)}"
6
+ end
5
7
  end
6
8
  end
@@ -1,9 +1,11 @@
1
1
  class Specinfra::Command::Darwin::Base::Service < Specinfra::Command::Base::Service
2
- def check_is_enabled(service, level=nil)
3
- "launchctl list | grep #{escape(service)}"
4
- end
2
+ class << self
3
+ def check_is_enabled(service, level=nil)
4
+ "launchctl list | grep #{escape(service)}"
5
+ end
5
6
 
6
- def check_is_running(service)
7
- "launchctl list | grep #{escape(service)} | grep -E '^[0-9]+'"
7
+ def check_is_running(service)
8
+ "launchctl list | grep #{escape(service)} | grep -E '^[0-9]+'"
9
+ end
8
10
  end
9
11
  end