class Rpush::Client::ActiveModel::CertificatePrivateKeyValidator

Public Instance Methods

validate(record) click to toggle source
# File lib/rpush/client/active_model/certificate_private_key_validator.rb, line 5
def validate(record)
  if record.certificate.present?
    begin
      x509 = OpenSSL::X509::Certificate.new(record.certificate)
      pkey = OpenSSL::PKey::RSA.new(record.certificate, record.password)
      x509 && pkey
    rescue OpenSSL::OpenSSLError
      record.errors.add :certificate, 'value must contain a certificate and a private key.'
    end
  end
end