Class: WPScan::WpVersion
- Inherits:
-
CMSScanner::Version
- Object
- CMSScanner::Version
- WPScan::WpVersion
- Includes:
- Vulnerable
- Defined in:
- app/models/wp_version.rb
Overview
WP Version
Class Method Summary collapse
-
.all ⇒ Array<String>
All the version numbers.
-
.valid?(number) ⇒ Boolean
True if the number is a valid WP version, false otherwise.
Instance Method Summary collapse
- #db_data ⇒ JSON
-
#initialize(number, opts = {}) ⇒ WpVersion
constructor
A new instance of WpVersion.
- #vulnerabilities ⇒ Array<Vulnerability>
Methods included from Vulnerable
Constructor Details
#initialize(number, opts = {}) ⇒ WpVersion
Returns a new instance of WpVersion.
6 7 8 9 10 |
# File 'app/models/wp_version.rb', line 6 def initialize(number, opts = {}) raise InvalidWordPressVersion unless WpVersion.valid?(number.to_s) super(number, opts) end |
Class Method Details
.all ⇒ Array<String>
Returns All the version numbers.
20 21 22 23 24 25 26 27 28 |
# File 'app/models/wp_version.rb', line 20 def self.all return @all_numbers if @all_numbers @all_numbers = [] DB::Version.all.each { |v| @all_numbers << v.number } @all_numbers end |
.valid?(number) ⇒ Boolean
Returns true if the number is a valid WP version, false otherwise.
15 16 17 |
# File 'app/models/wp_version.rb', line 15 def self.valid?(number) all.include?(number) end |
Instance Method Details
#db_data ⇒ JSON
31 32 33 |
# File 'app/models/wp_version.rb', line 31 def db_data DB::Version.db_data(number) end |
#vulnerabilities ⇒ Array<Vulnerability>
36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/models/wp_version.rb', line 36 def vulnerabilities return @vulnerabilities if @vulnerabilities @vulnerabilities = [] [*db_data['vulnerabilities']].each do |json_vuln| @vulnerabilities << Vulnerability.load_from_json(json_vuln) end @vulnerabilities end |