Class: Nanoc::Extra::Checking::Checks::MixedContent Private

Inherits:
Nanoc::Extra::Checking::Check show all
Defined in:
lib/nanoc/extra/checking/checks/mixed_content.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

A check that verifies HTML files do not reference external resources with URLs that would trigger “mixed content” warnings.

Constant Summary collapse

PROTOCOL_PATTERN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

/^(\w+):\/\//

Instance Attribute Summary

Attributes inherited from Nanoc::Extra::Checking::Check

#issues

Instance Method Summary collapse

Methods inherited from Nanoc::Extra::Checking::Check

#add_issue, create, #initialize

Methods included from Int::PluginRegistry::PluginMethods

#all, #identifier, #identifiers, #named, #register

Methods inherited from Int::Context

#get_binding, #initialize

Constructor Details

This class inherits a constructor from Nanoc::Extra::Checking::Check

Instance Method Details

#runObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/nanoc/extra/checking/checks/mixed_content.rb', line 9

def run
  filenames = output_filenames.select { |f| File.extname(f) == '.html' }
  resource_uris_with_filenames = ::Nanoc::Extra::LinkCollector.new(filenames).filenames_per_resource_uri

  resource_uris_with_filenames.each_pair do |uri, fns|
    next unless guaranteed_insecure?(uri)
    fns.each do |filename|
      add_issue(
        "mixed content include: #{uri}",
        subject: filename,
      )
    end
  end
end