Sha256: 166104c7dcba65b67a47978d4fef779319d5f768cb95d640295dd4588ed2fefd

Contents?: true

Size: 795 Bytes

Versions: 10

Compression:

Stored size: 795 Bytes

Contents

module CMSScanner
  module Finders
    # Same Type Finders container
    #
    # This class is designed to handle same type results, such as enumeration of plugins,
    # themes etc.
    class SameTypeFinders < IndependentFinders
      # @param [ Hash ] opts
      # @option opts [ Symbol ] :mode :mixed, :passive or :aggressive
      # @option opts [ Boolean ] :sort Wether or not to sort the findings
      #
      # @return [ Findings ]
      def run(opts = {})
        symbols_from_mode(opts[:mode]).each do |symbol|
          each do |finder|
            [*finder.send(symbol, opts.merge(found: findings))].compact.each do |found|
              findings << found
            end
          end
        end

        findings.sort! if opts[:sort]

        findings
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
cms_scanner-0.0.33 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.32 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.31 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.30 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.29 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.28 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.27 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.26 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.25 lib/cms_scanner/finders/same_type_finders.rb
cms_scanner-0.0.24 lib/cms_scanner/finders/same_type_finders.rb