Class: Gitlab::Security::ScanConfiguration

Inherits:
Object
  • Object
show all
Includes:
Utils::StrongMemoize
Defined in:
lib/gitlab/security/scan_configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project:, type:, configured: false) ⇒ ScanConfiguration

Returns a new instance of ScanConfiguration.



11
12
13
14
15
# File 'lib/gitlab/security/scan_configuration.rb', line 11

def initialize(project:, type:, configured: false)
  @project = project
  @type = type
  @configured = configured
end

Instance Attribute Details

#typeObject (readonly)

Returns the value of attribute type.



9
10
11
# File 'lib/gitlab/security/scan_configuration.rb', line 9

def type
  @type
end

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
# File 'lib/gitlab/security/scan_configuration.rb', line 17

def available?
  # SAST and Secret Detection are always available, but this isn't
  # reflected by our license model yet.
  # TODO: https://gitlab.com/gitlab-org/gitlab/-/issues/333113
  %i[sast sast_iac secret_detection container_scanning].include?(type)
end

#can_enable_by_merge_request?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/gitlab/security/scan_configuration.rb', line 24

def can_enable_by_merge_request?
  scans_configurable_in_merge_request.include?(type)
end

#configuration_pathObject



32
# File 'lib/gitlab/security/scan_configuration.rb', line 32

def configuration_path; end

#configured?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/gitlab/security/scan_configuration.rb', line 28

def configured?
  configured
end

#meta_info_pathObject



34
# File 'lib/gitlab/security/scan_configuration.rb', line 34

def meta_info_path; end

#on_demand_available?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/gitlab/security/scan_configuration.rb', line 36

def on_demand_available?
  false
end