Class: Nexpose::CompletedAsset

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

Overview

Summary object of a completed asset for a scan.

Direct Known Subclasses

IncompleteAsset

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ CompletedAsset

Internal constructor to be called by #parse_json.



178
179
180
# File 'lib/nexpose/device.rb', line 178

def initialize(&block)
  instance_eval(&block) if block_given?
end

Instance Attribute Details

#durationObject (readonly)

Time it took to scan the asset, in milliseconds.



175
176
177
# File 'lib/nexpose/device.rb', line 175

def duration
  @duration
end

#host_nameObject (readonly)

Host name of the asset, if discovered.



166
167
168
# File 'lib/nexpose/device.rb', line 166

def host_name
  @host_name
end

#idObject (readonly)

Unique identifier of an asset.



162
163
164
# File 'lib/nexpose/device.rb', line 162

def id
  @id
end

#ipObject (readonly)

IP address of the asset.



164
165
166
# File 'lib/nexpose/device.rb', line 164

def ip
  @ip
end

#osObject (readonly)

Operating system fingerprint of the asset.



168
169
170
# File 'lib/nexpose/device.rb', line 168

def os
  @os
end

#statusObject (readonly)

Status of the asset on scan completion. One of :completed, :error, or :stopped.



173
174
175
# File 'lib/nexpose/device.rb', line 173

def status
  @status
end

#vulnsObject (readonly)

Number of vulnerabilities discovered on the asset.



170
171
172
# File 'lib/nexpose/device.rb', line 170

def vulns
  @vulns
end

Class Method Details

.parse_json(json) ⇒ Object

Internal method for converting a JSON representation into a CompletedScan object.



194
195
196
197
198
199
200
201
202
203
204
# File 'lib/nexpose/device.rb', line 194

def self.parse_json(json)
  new do
    @id = json['id'].to_i
    @ip = json['ipAddress']
    @host_name = json['hostName']
    @os = json['operatingSystem']
    @vulns = json['vulnerabilityCount']
    @status = json['scanStatusTranslation'].downcase.to_sym
    @duration = json['duration']
  end
end

Instance Method Details

#ip_addressObject

Convenience method for assessing “ip” as “ip_address”.



183
184
185
# File 'lib/nexpose/device.rb', line 183

def ip_address
  ip
end

#operating_systemObject

Convenience method for assessing “os” as “operating_system”.



188
189
190
# File 'lib/nexpose/device.rb', line 188

def operating_system
  os
end