class OpenAssets::Cache::SSLCertificateCache

Public Class Methods

new() click to toggle source
Calls superclass method OpenAssets::Cache::SQLiteBase::new
# File lib/openassets/cache/ssl_certificate_cache.rb, line 5
def initialize
  path = OpenAssets.configuration ? OpenAssets.configuration[:cache] : ':memory:'
  super(path)
end

Public Instance Methods

get(url) click to toggle source

Return the subject value which defined by ssl certificate. @param url The URL of asset definition file. @return The subject value. If not found, return nil.

# File lib/openassets/cache/ssl_certificate_cache.rb, line 23
def get(url)
  rows = db.execute('SELECT Subject,ExpireDate FROM SslCertificate WHERE Url = ?', [url])
  return nil if rows.empty?
  if rows[0][1].to_i < Time.now.to_i
    db.execute('DELETE FROM SslCertificate where Url = ?', [url])
    nil
  else
    rows[0][0]
  end
end
put(url, subject, expire_date) click to toggle source

Saves a serialized transaction in cache. @param url The URL of asset definition file. @param subject The SSL Certificate subject value. @param expire_date The expire date of SSL Certificate.

# File lib/openassets/cache/ssl_certificate_cache.rb, line 38
def put(url, subject, expire_date)
  db.execute('INSERT INTO SslCertificate (Url, Subject, ExpireDate) VALUES (?, ?, ?)', [url, subject, expire_date.to_i])
end
setup() click to toggle source
# File lib/openassets/cache/ssl_certificate_cache.rb, line 10
      def setup
        db.execute <<-SQL
          CREATE TABLE IF NOT EXISTS SslCertificate(
                  Url TEXT,
                  Subject TEXT,
                  ExpireDate TEXT,
                  PRIMARY KEY (Url))
        SQL
      end