Class: SiteInspector::Endpoint::Sniffer

Inherits:
Check
  • Object
show all
Defined in:
lib/site-inspector/checks/sniffer.rb

Constant Summary collapse

OPEN_SOURCE_FRAMEWORKS =
[
  # Sniffles
  :drupal,
  :joomla,
  :movabletype,
  :phpbb,
  :wordpress,

  # Internal
  :php,
  :expression_engine,
  :cowboy
].freeze

Instance Attribute Summary

Attributes inherited from Check

#endpoint

Instance Method Summary collapse

Methods inherited from Check

enabled=, enabled?, #host, #initialize, #inspect, #name, name, #request, #response

Constructor Details

This class inherits a constructor from SiteInspector::Endpoint::Check

Instance Method Details

#advertisingObject



43
44
45
# File 'lib/site-inspector/checks/sniffer.rb', line 43

def advertising
  sniff :advertising
end

#analyticsObject



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

def analytics
  sniff :analytics
end

#frameworkObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/site-inspector/checks/sniffer.rb', line 20

def framework
  cms = sniff :cms
  return cms unless cms.nil?
  return :expression_engine if endpoint.cookies.any? { |c| c.keys.first =~ /^exp_/ }
  return :php if endpoint.cookies['PHPSESSID']
  return :coldfusion if endpoint.cookies['CFID'] && endpoint.cookies['CFTOKEN']
  return :cowboy if endpoint.headers.server.to_s.casecmp('cowboy').zero?

  nil
end

#javascriptObject



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

def javascript
  sniff :javascript
end

#open_source?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/site-inspector/checks/sniffer.rb', line 31

def open_source?
  OPEN_SOURCE_FRAMEWORKS.include?(framework)
end

#to_hObject



47
48
49
50
51
52
53
54
# File 'lib/site-inspector/checks/sniffer.rb', line 47

def to_h
  {
    framework: framework,
    analytics: analytics,
    javascript: javascript,
    advertising: advertising
  }
end