Sha256: ae3da03e64f6472f065a521c709ce54313c67f69586e69c643a787c9ec923413
Contents?: true
Size: 1.18 KB
Versions: 5
Compression:
Stored size: 1.18 KB
Contents
module SSLCheck class Check attr_accessor :peer_cert, :ca_bundle, :host_name def initialize(client=nil, validator=nil) @client = client || Client.new @validator = validator || Validator.new @errors = [] @checked = false end def check(url) fetch(url) validate if no_errors? @checked = true @url = url return self end def errors @errors end def failed? return false if no_errors? true end def valid? return true if no_errors? && checked? false end def checked? return true if @checked false end def url @url end private def no_errors? @errors.empty? end def fetch(url) response = @client.get(url) if response.errors.empty? self.peer_cert = response.peer_cert self.ca_bundle = response.ca_bundle self.host_name = response.host_name end response.errors.each do |error| @errors << error end true end def validate @validator.validate(host_name, peer_cert, ca_bundle) @errors = @errors + @validator.errors true end end end
Version data entries
5 entries across 5 versions & 1 rubygems