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.



145
146
147
148
149
150
151
# File 'lib/nexpose/report.rb', line 145

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.



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

def config_id
  @config_id
end

#generated_onObject (readonly)

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



141
142
143
# File 'lib/nexpose/report.rb', line 141

def generated_on
  @generated_on
end

#idObject (readonly)

The id of the generated report.



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

def id
  @id
end

#statusObject (readonly)

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



139
140
141
# File 'lib/nexpose/report.rb', line 139

def status
  @status
end

#uriObject (readonly)

The relative URI to use to access the report.



143
144
145
# File 'lib/nexpose/report.rb', line 143

def uri
  @uri
end

Class Method Details

.parse(xml) ⇒ Object



158
159
160
# File 'lib/nexpose/report.rb', line 158

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



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

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.



154
155
156
# File 'lib/nexpose/report.rb', line 154

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