Class: Nexpose::ReportSummary

Inherits:
Object
  • Object
show all
Defined in:
lib/nexpose/report.rb

Overview

Summary of a single report.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, config_id, status, generated_on, uri) ⇒ ReportSummary

Returns a new instance of ReportSummary.



139
140
141
142
143
144
145
# File 'lib/nexpose/report.rb', line 139

def initialize(id, config_id, status, generated_on, uri)
  @id = id
  @config_id = config_id
  @status = status
  @generated_on = generated_on
  @uri = uri
end

Instance Attribute Details

#config_idObject (readonly)

The report definition (configuration) ID.



130
131
132
# File 'lib/nexpose/report.rb', line 130

def config_id
  @config_id
end

#generated_onObject (readonly)

The date and time the report was generated, in ISO 8601 format.



135
136
137
# File 'lib/nexpose/report.rb', line 135

def generated_on
  @generated_on
end

#idObject (readonly)

The ID of the generated report.



128
129
130
# File 'lib/nexpose/report.rb', line 128

def id
  @id
end

#statusObject (readonly)

The current status of the report. One of: Started|Generated|Failed|Aborted|Unknown



133
134
135
# File 'lib/nexpose/report.rb', line 133

def status
  @status
end

#uriObject (readonly)

The relative URI to use to access the report.



137
138
139
# File 'lib/nexpose/report.rb', line 137

def uri
  @uri
end

Class Method Details

.parse(xml) ⇒ Object



152
153
154
155
156
157
158
# File 'lib/nexpose/report.rb', line 152

def self.parse(xml)
  ReportSummary.new(xml.attributes['id'],
                    xml.attributes['cfg-id'],
                    xml.attributes['status'],
                    xml.attributes['generated-on'],
                    xml.attributes['report-URI'])
end

.parse_all(response) ⇒ Object



160
161
162
163
164
165
166
167
168
# File 'lib/nexpose/report.rb', line 160

def self.parse_all(response)
  summaries = []
  if response.success
    response.res.elements.each('//ReportSummary') do |summary|
      summaries << ReportSummary.parse(summary)
    end
  end
  summaries
end

Instance Method Details

#delete(connection) ⇒ Object

Delete this report.



148
149
150
# File 'lib/nexpose/report.rb', line 148

def delete(connection)
  connection.delete_report(@id)
end