Class: Gitlab::MergeRequests::Mergeability::CheckResult
- Inherits:
-
Object
- Object
- Gitlab::MergeRequests::Mergeability::CheckResult
- Defined in:
- lib/gitlab/merge_requests/mergeability/check_result.rb
Constant Summary collapse
- SUCCESS_STATUS =
:success
- FAILED_STATUS =
:failed
Instance Attribute Summary collapse
-
#payload ⇒ Object
readonly
Returns the value of attribute payload.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Class Method Summary collapse
- .default_payload ⇒ Object
- .failed(payload: {}) ⇒ Object
- .from_hash(data) ⇒ Object
- .success(payload: {}) ⇒ Object
Instance Method Summary collapse
- #failed? ⇒ Boolean
-
#initialize(status:, payload: {}) ⇒ CheckResult
constructor
A new instance of CheckResult.
- #success? ⇒ Boolean
- #to_hash ⇒ Object
Constructor Details
#initialize(status:, payload: {}) ⇒ CheckResult
Returns a new instance of CheckResult.
29 30 31 32 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 29 def initialize(status:, payload: {}) @status = status @payload = payload end |
Instance Attribute Details
#payload ⇒ Object (readonly)
Returns the value of attribute payload.
9 10 11 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 9 def payload @payload end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
9 10 11 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 9 def status @status end |
Class Method Details
.default_payload ⇒ Object
11 12 13 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 11 def self.default_payload { last_run_at: Time.current } end |
.failed(payload: {}) ⇒ Object
19 20 21 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 19 def self.failed(payload: {}) new(status: FAILED_STATUS, payload: default_payload.merge(**payload)) end |
.from_hash(data) ⇒ Object
23 24 25 26 27 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 23 def self.from_hash(data) new( status: data.fetch(:status).to_sym, payload: data.fetch(:payload)) end |
.success(payload: {}) ⇒ Object
15 16 17 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 15 def self.success(payload: {}) new(status: SUCCESS_STATUS, payload: default_payload.merge(**payload)) end |
Instance Method Details
#failed? ⇒ Boolean
38 39 40 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 38 def failed? status == FAILED_STATUS end |
#success? ⇒ Boolean
42 43 44 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 42 def success? status == SUCCESS_STATUS end |
#to_hash ⇒ Object
34 35 36 |
# File 'lib/gitlab/merge_requests/mergeability/check_result.rb', line 34 def to_hash { status: status, payload: payload } end |