Class: SiteInspector

Inherits:
Object
  • Object
show all
Defined in:
lib/site-inspector.rb,
lib/site-inspector/cache.rb,
lib/site-inspector/domain.rb,
lib/site-inspector/version.rb,
lib/site-inspector/endpoint.rb,
lib/site-inspector/checks/dns.rb,
lib/site-inspector/disk_cache.rb,
lib/site-inspector/checks/hsts.rb,
lib/site-inspector/rails_cache.rb,
lib/site-inspector/checks/check.rb,
lib/site-inspector/checks/https.rb,
lib/site-inspector/checks/content.rb,
lib/site-inspector/checks/headers.rb,
lib/site-inspector/checks/sniffer.rb

Defined Under Namespace

Classes: Cache, DiskCache, Domain, Endpoint, RailsCache

Constant Summary collapse

VERSION =
"2.0.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.cacheObject



25
26
27
28
29
30
31
32
33
# File 'lib/site-inspector.rb', line 25

def cache
  @cache ||= if ENV['CACHE']
    SiteInspector::DiskCache.new
  elsif Object.const_defined?('Rails')
    SiteInspector::RailsCache.new
  else
    SiteInspector::Cache.new
  end
end

.timeoutObject



35
36
37
# File 'lib/site-inspector.rb', line 35

def timeout
  @timeout || 10
end

Class Method Details

.hydraObject



54
55
56
# File 'lib/site-inspector.rb', line 54

def hydra
  @hydra ||= Typhoeus::Hydra.new(max_concurrency: 4)
end

.inspect(domain) ⇒ Object



39
40
41
# File 'lib/site-inspector.rb', line 39

def inspect(domain)
  Domain.new(domain)
end

.typhoeus_defaultsObject



43
44
45
46
47
48
49
50
51
52
# File 'lib/site-inspector.rb', line 43

def typhoeus_defaults
  {
    :followlocation => false,
    :timeout => SiteInspector.timeout,
    :accept_encoding => "gzip",
    :headers => {
      "User-Agent" => "Mozilla/5.0 (compatible; SiteInspector/#{SiteInspector::VERSION}; +https://github.com/benbalter/site-inspector-ruby)"
    }
  }
end