Class: Gitlab::Ci::Reports::Security::FindingSignature
- Inherits:
-
Object
- Object
- Gitlab::Ci::Reports::Security::FindingSignature
- Includes:
- VulnerabilityFindingSignatureHelpers
- Defined in:
- lib/gitlab/ci/reports/security/finding_signature.rb
Constant Summary
Constants included from VulnerabilityFindingSignatureHelpers
VulnerabilityFindingSignatureHelpers::ALGORITHM_TYPES
Instance Attribute Summary collapse
-
#algorithm_type ⇒ Object
Returns the value of attribute algorithm_type.
-
#qualified_signature ⇒ Object
Returns the value of attribute qualified_signature.
-
#signature_value ⇒ Object
Returns the value of attribute signature_value.
Instance Method Summary collapse
- #eql?(other) ⇒ Boolean (also: #==)
-
#initialize(params = {}) ⇒ FindingSignature
constructor
A new instance of FindingSignature.
- #signature_hex ⇒ Object
- #signature_sha ⇒ Object
- #to_hash ⇒ Object
- #valid? ⇒ Boolean
Methods included from VulnerabilityFindingSignatureHelpers
Constructor Details
#initialize(params = {}) ⇒ FindingSignature
Returns a new instance of FindingSignature.
12 13 14 15 16 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 12 def initialize(params = {}) @algorithm_type = params[:algorithm_type] @signature_value = params[:signature_value] @qualified_signature = params[:qualified_signature] end |
Instance Attribute Details
#algorithm_type ⇒ Object
Returns the value of attribute algorithm_type.
10 11 12 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 10 def algorithm_type @algorithm_type end |
#qualified_signature ⇒ Object
Returns the value of attribute qualified_signature.
10 11 12 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 10 def qualified_signature @qualified_signature end |
#signature_value ⇒ Object
Returns the value of attribute signature_value.
10 11 12 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 10 def signature_value @signature_value end |
Instance Method Details
#eql?(other) ⇒ Boolean Also known as: ==
41 42 43 44 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 41 def eql?(other) other.algorithm_type == algorithm_type && other.signature_sha == signature_sha end |
#signature_hex ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 22 def signature_hex if qualified_signature "#{algorithm_type}:#{signature_sha.unpack1('H*')}" else signature_sha.unpack1("H*") end end |
#signature_sha ⇒ Object
18 19 20 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 18 def signature_sha Digest::SHA1.digest(signature_value) end |
#to_hash ⇒ Object
30 31 32 33 34 35 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 30 def to_hash { algorithm_type: algorithm_type, signature_sha: signature_sha } end |
#valid? ⇒ Boolean
37 38 39 |
# File 'lib/gitlab/ci/reports/security/finding_signature.rb', line 37 def valid? algorithm_types.key?(algorithm_type) end |