module Sprinkle::Verifiers::Executable

Executable Verifier

Contains a verifier to check the existance of an executable script on your server.

Example Usage

First, absolute path to an executable:

verify { has_executable '/usr/special/secret/bin/scipt' }

Second, a global executable which would be available anywhere on the command line:

verify { has_executable 'grep' }

Public Instance Methods

has_executable(path) click to toggle source

Checks if path is an executable script using which

  • accepts both absolute paths and binary names with no path

# File lib/sprinkle/verifiers/executable.rb, line 23
def has_executable(path)
  @commands << "which #{path}"
end
has_executable_with_version(path, version, get_version = '-v') click to toggle source

Same as has_executable but with checking for e certain version number. Last option is the parameter to append for getting the version (which defaults to ā€œ-vā€).

# File lib/sprinkle/verifiers/executable.rb, line 30
def has_executable_with_version(path, version, get_version = '-v')
  if path.include?('/')
    @commands << "[ -x #{path} -a -n \"`#{path} #{get_version} 2>&1 | egrep -e \\\"#{version}\\\"`\" ]"
  else
    @commands << "[ -n \"`echo \\`which #{path}\\``\" -a -n \"`\\`which #{path}\\` #{get_version} 2>&1 | egrep -e \\\"#{version}\\\"`\" ]"
  end
end
has_version_in_grep(cmd, version) click to toggle source

Same as has_executable but checking output of a certain command with grep.

# File lib/sprinkle/verifiers/executable.rb, line 40
def has_version_in_grep(cmd, version)
  @commands << "[ -n \"`#{cmd} 2> /dev/null | egrep -e \\\"#{version}\\\"`\" ]"
end