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.



207
208
209
# File 'lib/nexpose/device.rb', line 207

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

Instance Attribute Details

#durationObject (readonly)

Time it took to scan the asset, in milliseconds.



204
205
206
# File 'lib/nexpose/device.rb', line 204

def duration
  @duration
end

#host_nameObject (readonly)

Host name of the asset, if discovered.



195
196
197
# File 'lib/nexpose/device.rb', line 195

def host_name
  @host_name
end

#idObject (readonly)

Unique identifier of an asset.



191
192
193
# File 'lib/nexpose/device.rb', line 191

def id
  @id
end

#ipObject (readonly)

IP address of the asset.



193
194
195
# File 'lib/nexpose/device.rb', line 193

def ip
  @ip
end

#osObject (readonly)

Operating system fingerprint of the asset.



197
198
199
# File 'lib/nexpose/device.rb', line 197

def os
  @os
end

#statusObject (readonly)

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



202
203
204
# File 'lib/nexpose/device.rb', line 202

def status
  @status
end

#vulnsObject (readonly)

Number of vulnerabilities discovered on the asset.



199
200
201
# File 'lib/nexpose/device.rb', line 199

def vulns
  @vulns
end

Class Method Details

.parse_json(json) ⇒ Object

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



223
224
225
226
227
228
229
230
231
232
233
# File 'lib/nexpose/device.rb', line 223

def self.parse_json(json)
  new do
    @id        = json['assetID'].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”.



212
213
214
# File 'lib/nexpose/device.rb', line 212

def ip_address
  ip
end

#operating_systemObject

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



217
218
219
# File 'lib/nexpose/device.rb', line 217

def operating_system
  os
end