Sha256: d11f89172497ffb7ff4ff2466bb5b7945b60512c25ead8ed2bcceb938c5b3d3b

Contents?: true

Size: 805 Bytes

Versions: 6

Compression:

Stored size: 805 Bytes

Contents

# frozen_string_literal: true

module WPScan
  module Model
    # WordPress Plugin
    class Plugin < WpItem
      # See WpItem
      def initialize(slug, blog, opts = {})
        super(slug, blog, opts)

        # To be used by #head_and_get
        # If custom wp-content, it will be replaced by blog#url
        @path_from_blog = "wp-content/plugins/#{slug}/"

        @uri = Addressable::URI.parse(blog.url(path_from_blog))
      end

      # @return [ JSON ]
      def db_data
        @db_data ||= DB::Plugin.db_data(slug)
      end

      # @param [ Hash ] opts
      #
      # @return [ Model::Version, false ]
      def version(opts = {})
        @version = Finders::PluginVersion::Base.find(self, version_detection_opts.merge(opts)) if @version.nil?

        @version
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wpscan-3.5.5 app/models/plugin.rb
wpscan-3.5.4 app/models/plugin.rb
wpscan-3.5.3 app/models/plugin.rb
wpscan-3.5.2 app/models/plugin.rb
wpscan-3.5.1 app/models/plugin.rb
wpscan-3.5.0 app/models/plugin.rb