class WkhtmltopdfRunner::PathValidator

Attributes

path[R]

Public Class Methods

new(path) click to toggle source
# File lib/wkhtmltopdf_runner/path_validator.rb, line 11
def initialize(path)
  @path = path
end
validate!(path) click to toggle source
# File lib/wkhtmltopdf_runner/path_validator.rb, line 5
def self.validate!(path)
  new(path).validate!
end

Public Instance Methods

validate!() click to toggle source
# File lib/wkhtmltopdf_runner/path_validator.rb, line 15
def validate!
  validate_if_path_exists!
  validate_if_path_executable!

  true
end

Private Instance Methods

validate_if_path_executable!() click to toggle source
# File lib/wkhtmltopdf_runner/path_validator.rb, line 31
def validate_if_path_executable!
  return if File.executable?(path)

  raise WkhtmltopdfRunner::InvalidPathError,
    "#{path} is not executable."
end
validate_if_path_exists!() click to toggle source
# File lib/wkhtmltopdf_runner/path_validator.rb, line 24
def validate_if_path_exists!
  return if path && !path.empty? && File.exist?(path)

  raise WkhtmltopdfRunner::InvalidPathError,
    "Cannot find wkhtmltopdf location #{path}".strip
end