Class: Inspec::Resources::Nginx
- Inherits:
-
Object
- Object
- Inspec::Resources::Nginx
- Defined in:
- lib/inspec/resources/nginx.rb
Instance Attribute Summary collapse
-
#bin_dir ⇒ Object
readonly
Returns the value of attribute bin_dir.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #compiler_info ⇒ Object
-
#initialize(nginx_path = "/usr/sbin/nginx") ⇒ Nginx
constructor
A new instance of Nginx.
- #modules ⇒ Object
- #openssl_version ⇒ Object
- #support_info ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(nginx_path = "/usr/sbin/nginx") ⇒ Nginx
Returns a new instance of Nginx.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/inspec/resources/nginx.rb', line 23 def initialize(nginx_path = "/usr/sbin/nginx") return skip_resource "The `nginx` resource is not yet available on your OS." if inspec.os.windows? return skip_resource "The `nginx` binary not found in the path provided." unless inspec.command(nginx_path).exist? cmd = inspec.command("#{nginx_path} -V 2>&1") if cmd.exit_status != 0 return skip_resource "Error using the command nginx -V" end @data = cmd.stdout @params = {} read_content end |
Instance Attribute Details
#bin_dir ⇒ Object (readonly)
Returns the value of attribute bin_dir.
21 22 23 |
# File 'lib/inspec/resources/nginx.rb', line 21 def bin_dir @bin_dir end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
21 22 23 |
# File 'lib/inspec/resources/nginx.rb', line 21 def params @params end |
Instance Method Details
#compiler_info ⇒ Object
48 49 50 51 |
# File 'lib/inspec/resources/nginx.rb', line 48 def compiler_info result = @data.scan(/built by (\S+)\s(\S+)\s(\S+)/).flatten Hashie::Mash.new({ "compiler" => result[0], "version" => result[1], "date" => result[2] }) end |
#modules ⇒ Object
58 59 60 |
# File 'lib/inspec/resources/nginx.rb', line 58 def modules @data.scan(/--with-(\S+)_module/).flatten end |
#openssl_version ⇒ Object
43 44 45 46 |
# File 'lib/inspec/resources/nginx.rb', line 43 def openssl_version result = @data.scan(/built with OpenSSL\s(\S+)\s(\d+\s\S+\s\d{4})/).flatten Hashie::Mash.new({ "version" => result[0], "date" => result[1] }) end |
#support_info ⇒ Object
53 54 55 56 |
# File 'lib/inspec/resources/nginx.rb', line 53 def support_info support_info = @data.scan(/(.*\S+) support enabled/).flatten support_info.empty? ? nil : support_info.join(" ") end |
#to_s ⇒ Object
62 63 64 |
# File 'lib/inspec/resources/nginx.rb', line 62 def to_s "Nginx Environment" end |