class ContainerConfig::Coercer::SslCertificate

SSL certificate type coercer

Public Instance Methods

coerce(value) click to toggle source

Coerces the given value into an SSL certificate

@param [Object] value SSL certificate path

@return [OpenSSL::X509::Certificate] coerced value

# File lib/container_config/coercer/ssl_certificate.rb, line 28
def coerce(value)
  return if value.nil?

  return value if value.is_a?(OpenSSL::X509::Certificate)

  cert_path = value.to_s

  unless File.exist?(cert_path)
    ContainerConfig.logger.warn { "Could not find SSL certificate at #{cert_path}" }
    return nil
  end

  OpenSSL::X509::Certificate.new(File.read(cert_path))
rescue OpenSSL::X509::CertificateError => e
  ContainerConfig.logger.warn { "Could not parse SSL certificate #{cert_path} successfully: #{e}" }
  nil
end
name() click to toggle source

@see ContainerConfig::Coercer::Base#name

# File lib/container_config/coercer/ssl_certificate.rb, line 12
def name
  "SSL Certificate"
end
type() click to toggle source

@see ContainerConfig::Coercer::Base#type

# File lib/container_config/coercer/ssl_certificate.rb, line 17
def type
  :ssl_certificate
end