class Poke::Checks::Network::CertificateExpirationCheck

Public Class Methods

new(certificate_name, expiration_date, delta = 7) click to toggle source

Check the certificate expiration date

@param certificate_name [String] The name of the certificate (website, …) @param expiration_date [Date] The date of the certificate expiration @param delta [Integer] The number of days before the expiration date to fail the test

Calls superclass method
# File lib/poke/checks/network/certificate_expiration_check.rb, line 22
def initialize(certificate_name, expiration_date, delta = 7)
  @certificate_name = certificate_name
  name = "#{certificate_name} certificate expiration date"

  expiration_date = Date.parse(expiration_date) unless expiration_date.instance_of? Date
  raise "The #{certificate_name} certificate is already expired" if expiration_date < Date.today

  @expiration_date = expiration_date
  @delta = delta
  super name
end

Public Instance Methods

run() click to toggle source
# File lib/poke/checks/network/certificate_expiration_check.rb, line 34
def run
  today_date = Date.today
  warning_date = @expiration_date - (@delta)
  return_code = (today_date <= warning_date) ? :ok : :error

  return return_code, "The #{@certificate_name} certificate will expire in " + (@expiration_date - today_date).to_i.to_s + " days"
end