Class: ScanEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/domain/scan_engine/model.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, name:, address: nil, content_version: nil, is_AWSPreAuthEngine: nil, last_refreshed_date: nil, last_updated_date: nil, port: nil, product_version: nil, serial_number: nil, sites: [], status: nil) ⇒ ScanEngine

Returns a new instance of ScanEngine.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/domain/scan_engine/model.rb', line 17

def initialize(id:, name:, address: nil, content_version: nil,
               is_AWSPreAuthEngine: nil, last_refreshed_date: nil,
               last_updated_date: nil, port: nil, product_version: nil,
               serial_number: nil, sites: [], status: nil)
  @id = id
  @name = name
  @address = address
  @content_version = content_version
  @is_AWSPreAuthEngine = is_AWSPreAuthEngine
  @last_refreshed_date = last_refreshed_date
  @last_updated_date = last_updated_date
  @port = port
  @product_version = product_version
  @serial_number = serial_number
  @sites = sites
  @status = status
end

Instance Attribute Details

#addressObject

Returns the value of attribute address.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def address
  @address
end

#content_versionObject

Returns the value of attribute content_version.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def content_version
  @content_version
end

#idObject

Returns the value of attribute id.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def id
  @id
end

#is_AWSPreAuthEngineObject

Returns the value of attribute is_AWSPreAuthEngine.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def is_AWSPreAuthEngine
  @is_AWSPreAuthEngine
end

#last_refreshed_dateObject

Returns the value of attribute last_refreshed_date.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def last_refreshed_date
  @last_refreshed_date
end

#last_updated_dateObject

Returns the value of attribute last_updated_date.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def last_updated_date
  @last_updated_date
end

#nameObject

Returns the value of attribute name.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def name
  @name
end

#portObject

Returns the value of attribute port.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def port
  @port
end

#product_versionObject

Returns the value of attribute product_version.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def product_version
  @product_version
end

#serial_numberObject

Returns the value of attribute serial_number.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def serial_number
  @serial_number
end

#sitesObject

Returns the value of attribute sites.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def sites
  @sites
end

#statusObject

Returns the value of attribute status.



4
5
6
# File 'lib/domain/scan_engine/model.rb', line 4

def status
  @status
end

Class Method Details

.from_json(data) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/domain/scan_engine/model.rb', line 35

def self.from_json(data)
  ScanEngine.new(
    id: data['id'],
    name: data['name'],
    address: data['address'],
    content_version: data['contentVersion'],
    is_AWSPreAuthEngine: data['isAWSPreAuthEngine'],
    last_refreshed_date: data['lastRefreshed_date'],
    last_updated_date: data['lastUpdated_date'],
    port: data['port'],
    product_version: data['productVersion'],
    serial_number: data['serialNumber'],
    sites: data['sites'] || [], # Ensure sites is always an array
    status: data['status']
  )
end

Instance Method Details

#down?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/domain/scan_engine/model.rb', line 62

def down?
  !up?
end

#rapid7_hosted?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/domain/scan_engine/model.rb', line 66

def rapid7_hosted?
  name == 'Rapid7 Hosted Scan Engine'
end

#to_json(*_options) ⇒ Object



52
53
54
55
56
# File 'lib/domain/scan_engine/model.rb', line 52

def to_json(*_options)
  { id:, name:, address:, content_version:, is_AWSPreAuthEngine:,
    last_refreshed_date:, last_updated_date:, port:, product_version:,
    serial_number:, sites:, status: }.to_json
end

#up?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/domain/scan_engine/model.rb', line 58

def up?
  status == 'active'
end