Class: Ace::GitCommit::Models::SplitCommitResult
- Inherits:
-
Object
- Object
- Ace::GitCommit::Models::SplitCommitResult
- Defined in:
- lib/ace/git_commit/models/split_commit_result.rb
Overview
SplitCommitResult tracks results for split commit execution
Defined Under Namespace
Classes: CommitRecord
Instance Attribute Summary collapse
-
#original_head ⇒ Object
readonly
Returns the value of attribute original_head.
-
#records ⇒ Object
readonly
Returns the value of attribute records.
-
#rollback_error ⇒ Object
readonly
Returns the value of attribute rollback_error.
Instance Method Summary collapse
- #add_dry_run(group) ⇒ Object
- #add_failure(group, error) ⇒ Object
- #add_skipped(group, reason) ⇒ Object
- #add_success(group, sha) ⇒ Object
- #commit_shas ⇒ Object
- #dry_run? ⇒ Boolean
- #failed? ⇒ Boolean
-
#initialize(original_head: nil) ⇒ SplitCommitResult
constructor
A new instance of SplitCommitResult.
- #mark_rollback_error(error) ⇒ Object
- #skipped? ⇒ Boolean
- #success? ⇒ Boolean
Constructor Details
#initialize(original_head: nil) ⇒ SplitCommitResult
12 13 14 15 16 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 12 def initialize(original_head: nil) @records = [] @original_head = original_head @rollback_error = nil end |
Instance Attribute Details
#original_head ⇒ Object (readonly)
Returns the value of attribute original_head.
10 11 12 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 10 def original_head @original_head end |
#records ⇒ Object (readonly)
Returns the value of attribute records.
10 11 12 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 10 def records @records end |
#rollback_error ⇒ Object (readonly)
Returns the value of attribute rollback_error.
10 11 12 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 10 def rollback_error @rollback_error end |
Instance Method Details
#add_dry_run(group) ⇒ Object
22 23 24 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 22 def add_dry_run(group) @records << CommitRecord.new(group: group, sha: nil, status: :dry_run, error: nil) end |
#add_failure(group, error) ⇒ Object
26 27 28 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 26 def add_failure(group, error) @records << CommitRecord.new(group: group, sha: nil, status: :failure, error: error) end |
#add_skipped(group, reason) ⇒ Object
30 31 32 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 30 def add_skipped(group, reason) @records << CommitRecord.new(group: group, sha: nil, status: :skipped, error: reason) end |
#add_success(group, sha) ⇒ Object
18 19 20 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 18 def add_success(group, sha) @records << CommitRecord.new(group: group, sha: sha, status: :success, error: nil) end |
#commit_shas ⇒ Object
34 35 36 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 34 def commit_shas records.map(&:sha).compact end |
#dry_run? ⇒ Boolean
46 47 48 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 46 def dry_run? records.any? { |record| record.status == :dry_run } end |
#failed? ⇒ Boolean
50 51 52 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 50 def failed? !success? end |
#mark_rollback_error(error) ⇒ Object
54 55 56 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 54 def mark_rollback_error(error) @rollback_error = error end |
#skipped? ⇒ Boolean
42 43 44 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 42 def skipped? records.any? { |record| record.status == :skipped } end |
#success? ⇒ Boolean
38 39 40 |
# File 'lib/ace/git_commit/models/split_commit_result.rb', line 38 def success? records.all? { |record| record.status == :success || record.status == :dry_run || record.status == :skipped } end |